10ae8f5acSAlex Bradbury# RUN: rm -rf %t && split-file %s %t && cd %t 20ae8f5acSAlex Bradbury 30ae8f5acSAlex Bradbury# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+m,+f,+d,+v noncanonicalized_arch.s -o noncanonicalized_arch.o 4*91c6174cSAlex Bradbury# RUN: not llvm-objdump -d noncanonicalized_arch.o 2>&1 | FileCheck %s -DFILE=noncanonicalized_arch.o --check-prefix=NONCANON 50ae8f5acSAlex Bradbury 60ae8f5acSAlex Bradbury# RUN: llvm-mc -filetype=obj -triple=riscv64 invalid_arch.s -o invalid_arch.o 7*91c6174cSAlex Bradbury# RUN: not llvm-objdump -d invalid_arch.o 2>&1 | FileCheck %s -DFILE=invalid_arch.o --check-prefix=INVALID 80ae8f5acSAlex Bradbury 90ae8f5acSAlex Bradbury# RUN: llvm-mc -filetype=obj -triple=riscv32 unknown_i_version.s -o unknown_i_version.o 1006206588SAlex Bradbury# RUN: llvm-objdump -d unknown_i_version.o 2>&1 | FileCheck %s --check-prefix=UNKNOWN-I-VERSION 110ae8f5acSAlex Bradbury 120ae8f5acSAlex Bradbury# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+zicbom unknown_ext_version.s -o unknown_ext_version.o 130ae8f5acSAlex Bradbury# RUN: llvm-objdump -d unknown_ext_version.o 2>&1 | FileCheck %s --check-prefix=UNKNOWN-EXT-VERSION 140ae8f5acSAlex Bradbury 150ae8f5acSAlex Bradbury# RUN: llvm-mc -filetype=obj -triple=riscv64 unknown_ext_name.s -o unknown_ext_name.o 160ae8f5acSAlex Bradbury# RUN: llvm-objdump -d unknown_ext_name.o 2>&1 | FileCheck %s --check-prefix=UNKNOWN-EXT-NAME 170ae8f5acSAlex Bradbury 180ae8f5acSAlex Bradbury#--- noncanonicalized_arch.s 19*91c6174cSAlex Bradbury# NONCANON: error: '[[FILE]]': arch string must begin with valid base ISA 20*91c6174cSAlex Bradbury# NONCANON-NOT: {{.}} 210ae8f5acSAlex Bradburyvsetvli a3, a2, e8, m8, tu, mu 220ae8f5acSAlex Bradbury 230ae8f5acSAlex Bradbury.section .riscv.attributes,"",@0x70000003 240ae8f5acSAlex Bradbury.byte 0x41 250ae8f5acSAlex Bradbury.long .Lend-.riscv.attributes-1 260ae8f5acSAlex Bradbury.asciz "riscv" # vendor 270ae8f5acSAlex Bradbury.Lbegin: 280ae8f5acSAlex Bradbury.byte 1 # Tag_File 290ae8f5acSAlex Bradbury.long .Lend-.Lbegin 300ae8f5acSAlex Bradbury.byte 5 # Tag_RISCV_arch 310ae8f5acSAlex Bradbury.asciz "rv64gcv" 320ae8f5acSAlex Bradbury.Lend: 330ae8f5acSAlex Bradbury 340ae8f5acSAlex Bradbury#--- invalid_arch.s 35*91c6174cSAlex Bradbury# INVALID: error: '[[FILE]]': arch string must begin with valid base ISA 36*91c6174cSAlex Bradbury# INVALID-NOT: {{.}} 370ae8f5acSAlex Bradburynop 380ae8f5acSAlex Bradbury 390ae8f5acSAlex Bradbury.section .riscv.attributes,"",@0x70000003 400ae8f5acSAlex Bradbury.byte 0x41 410ae8f5acSAlex Bradbury.long .Lend-.riscv.attributes-1 420ae8f5acSAlex Bradbury.asciz "riscv" # vendor 430ae8f5acSAlex Bradbury.Lbegin: 440ae8f5acSAlex Bradbury.byte 1 # Tag_File 450ae8f5acSAlex Bradbury.long .Lend-.Lbegin 460ae8f5acSAlex Bradbury.byte 5 # Tag_RISCV_arch 470ae8f5acSAlex Bradbury.asciz "nonsense" 480ae8f5acSAlex Bradbury.Lend: 490ae8f5acSAlex Bradbury 500ae8f5acSAlex Bradbury#--- unknown_i_version.s 5106206588SAlex Bradbury# UNKNOWN-I-VERSION: nop 520ae8f5acSAlex Bradburynop 530ae8f5acSAlex Bradbury 540ae8f5acSAlex Bradbury.section .riscv.attributes,"",@0x70000003 550ae8f5acSAlex Bradbury.byte 0x41 560ae8f5acSAlex Bradbury.long .Lend-.riscv.attributes-1 570ae8f5acSAlex Bradbury.asciz "riscv" # vendor 580ae8f5acSAlex Bradbury.Lbegin: 590ae8f5acSAlex Bradbury.byte 1 # Tag_File 600ae8f5acSAlex Bradbury.long .Lend-.Lbegin 610ae8f5acSAlex Bradbury.byte 5 # Tag_RISCV_arch 620ae8f5acSAlex Bradbury.asciz "rv32i99p99" 630ae8f5acSAlex Bradbury.Lend: 640ae8f5acSAlex Bradbury 650ae8f5acSAlex Bradbury#--- unknown_ext_version.s 66*91c6174cSAlex Bradbury# UNKNOWN-EXT-VERSION: cbo.clean (t0) 670ae8f5acSAlex Bradburycbo.clean (t0) 680ae8f5acSAlex Bradbury 690ae8f5acSAlex Bradbury.section .riscv.attributes,"",@0x70000003 700ae8f5acSAlex Bradbury.byte 0x41 710ae8f5acSAlex Bradbury.long .Lend-.riscv.attributes-1 720ae8f5acSAlex Bradbury.asciz "riscv" # vendor 730ae8f5acSAlex Bradbury.Lbegin: 740ae8f5acSAlex Bradbury.byte 1 # Tag_File 750ae8f5acSAlex Bradbury.long .Lend-.Lbegin 760ae8f5acSAlex Bradbury.byte 5 # Tag_RISCV_arch 770ae8f5acSAlex Bradbury.asciz "rv32i2p0_zicbom0p1" 780ae8f5acSAlex Bradbury.Lend: 790ae8f5acSAlex Bradbury 800ae8f5acSAlex Bradbury#--- unknown_ext_name.s 810ae8f5acSAlex Bradbury# UNKNOWN-EXT-NAME: nop 820ae8f5acSAlex Bradburynop 830ae8f5acSAlex Bradbury 840ae8f5acSAlex Bradbury.section .riscv.attributes,"",@0x70000003 850ae8f5acSAlex Bradbury.byte 0x41 860ae8f5acSAlex Bradbury.long .Lend-.riscv.attributes-1 870ae8f5acSAlex Bradbury.asciz "riscv" # vendor 880ae8f5acSAlex Bradbury.Lbegin: 890ae8f5acSAlex Bradbury.byte 1 # Tag_File 900ae8f5acSAlex Bradbury.long .Lend-.Lbegin 910ae8f5acSAlex Bradbury.byte 5 # Tag_RISCV_arch 920ae8f5acSAlex Bradbury.asciz "rv32i2p0_zmadeup1p0_smadeup1p0_xmadeup1p0_sxmadeup1p0" 930ae8f5acSAlex Bradbury.Lend: 94