mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
af453b57a3
This patch switches the default for -riscv-no-aliases to false and updates all affected MC and CodeGen tests. As recommended in D41071, MC tests use the canonical instructions and the CodeGen tests use the aliases. Additionally, for the f and d instructions with rounding mode, the tests for the aliased versions are moved and tightened such that they can actually detect if alias emission is enabled. (see D40902 for context) Differential Revision: https://reviews.llvm.org/D41225 Patch by Mario Werner. llvm-svn: 320797
191 lines
8.5 KiB
ArmAsm
191 lines
8.5 KiB
ArmAsm
# RUN: llvm-mc %s -triple=riscv64 -mattr=+a -riscv-no-aliases -show-encoding \
|
|
# RUN: | FileCheck -check-prefixes=CHECK,CHECK-INST %s
|
|
# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+a < %s \
|
|
# RUN: | llvm-objdump -mattr=+a -riscv-no-aliases -d - \
|
|
# RUN: | FileCheck -check-prefix=CHECK-INST %s
|
|
# RUN: not llvm-mc -triple riscv32 -mattr=+a < %s 2>&1 \
|
|
# RUN: | FileCheck -check-prefix=CHECK-RV32 %s
|
|
|
|
# CHECK-INST: lr.d t0, (t1)
|
|
# CHECK: encoding: [0xaf,0x32,0x03,0x10]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
lr.d t0, (t1)
|
|
# CHECK-INST: lr.d.aq t1, (t2)
|
|
# CHECK: encoding: [0x2f,0xb3,0x03,0x14]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
lr.d.aq t1, (t2)
|
|
# CHECK-INST: lr.d.rl t2, (t3)
|
|
# CHECK: encoding: [0xaf,0x33,0x0e,0x12]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
lr.d.rl t2, (t3)
|
|
# CHECK-INST: lr.d.aqrl t3, (t4)
|
|
# CHECK: encoding: [0x2f,0xbe,0x0e,0x16]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
lr.d.aqrl t3, (t4)
|
|
|
|
# CHECK-INST: sc.d t6, t5, (t4)
|
|
# CHECK: encoding: [0xaf,0xbf,0xee,0x19]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
sc.d t6, t5, (t4)
|
|
# CHECK-INST: sc.d.aq t5, t4, (t3)
|
|
# CHECK: encoding: [0x2f,0x3f,0xde,0x1d]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
sc.d.aq t5, t4, (t3)
|
|
# CHECK-INST: sc.d.rl t4, t3, (t2)
|
|
# CHECK: encoding: [0xaf,0xbe,0xc3,0x1b]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
sc.d.rl t4, t3, (t2)
|
|
# CHECK-INST: sc.d.aqrl t3, t2, (t1)
|
|
# CHECK: encoding: [0x2f,0x3e,0x73,0x1e]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
sc.d.aqrl t3, t2, (t1)
|
|
|
|
# CHECK-INST: amoswap.d a4, ra, (s0)
|
|
# CHECK: encoding: [0x2f,0x37,0x14,0x08]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoswap.d a4, ra, (s0)
|
|
# CHECK-INST: amoadd.d a1, a2, (a3)
|
|
# CHECK: encoding: [0xaf,0xb5,0xc6,0x00]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoadd.d a1, a2, (a3)
|
|
# CHECK-INST: amoxor.d a2, a3, (a4)
|
|
# CHECK: encoding: [0x2f,0x36,0xd7,0x20]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoxor.d a2, a3, (a4)
|
|
# CHECK-INST: amoand.d a3, a4, (a5)
|
|
# CHECK: encoding: [0xaf,0xb6,0xe7,0x60]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoand.d a3, a4, (a5)
|
|
# CHECK-INST: amoor.d a4, a5, (a6)
|
|
# CHECK: encoding: [0x2f,0x37,0xf8,0x40]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoor.d a4, a5, (a6)
|
|
# CHECK-INST: amomin.d a5, a6, (a7)
|
|
# CHECK: encoding: [0xaf,0xb7,0x08,0x81]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomin.d a5, a6, (a7)
|
|
# CHECK-INST: amomax.d s7, s6, (s5)
|
|
# CHECK: encoding: [0xaf,0xbb,0x6a,0xa1]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomax.d s7, s6, (s5)
|
|
# CHECK-INST: amominu.d s6, s5, (s4)
|
|
# CHECK: encoding: [0x2f,0x3b,0x5a,0xc1]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amominu.d s6, s5, (s4)
|
|
# CHECK-INST: amomaxu.d s5, s4, (s3)
|
|
# CHECK: encoding: [0xaf,0xba,0x49,0xe1]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomaxu.d s5, s4, (s3)
|
|
|
|
|
|
# CHECK-INST: amoswap.d.aq a4, ra, (s0)
|
|
# CHECK: encoding: [0x2f,0x37,0x14,0x0c]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoswap.d.aq a4, ra, (s0)
|
|
# CHECK-INST: amoadd.d.aq a1, a2, (a3)
|
|
# CHECK: encoding: [0xaf,0xb5,0xc6,0x04]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoadd.d.aq a1, a2, (a3)
|
|
# CHECK-INST: amoxor.d.aq a2, a3, (a4)
|
|
# CHECK: encoding: [0x2f,0x36,0xd7,0x24]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoxor.d.aq a2, a3, (a4)
|
|
# CHECK-INST: amoand.d.aq a3, a4, (a5)
|
|
# CHECK: encoding: [0xaf,0xb6,0xe7,0x64]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoand.d.aq a3, a4, (a5)
|
|
# CHECK-INST: amoor.d.aq a4, a5, (a6)
|
|
# CHECK: encoding: [0x2f,0x37,0xf8,0x44]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoor.d.aq a4, a5, (a6)
|
|
# CHECK-INST: amomin.d.aq a5, a6, (a7)
|
|
# CHECK: encoding: [0xaf,0xb7,0x08,0x85]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomin.d.aq a5, a6, (a7)
|
|
# CHECK-INST: amomax.d.aq s7, s6, (s5)
|
|
# CHECK: encoding: [0xaf,0xbb,0x6a,0xa5]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomax.d.aq s7, s6, (s5)
|
|
# CHECK-INST: amominu.d.aq s6, s5, (s4)
|
|
# CHECK: encoding: [0x2f,0x3b,0x5a,0xc5]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amominu.d.aq s6, s5, (s4)
|
|
# CHECK-INST: amomaxu.d.aq s5, s4, (s3)
|
|
# CHECK: encoding: [0xaf,0xba,0x49,0xe5]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomaxu.d.aq s5, s4, (s3)
|
|
|
|
# CHECK-INST: amoswap.d.rl a4, ra, (s0)
|
|
# CHECK: encoding: [0x2f,0x37,0x14,0x0a]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoswap.d.rl a4, ra, (s0)
|
|
# CHECK-INST: amoadd.d.rl a1, a2, (a3)
|
|
# CHECK: encoding: [0xaf,0xb5,0xc6,0x02]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoadd.d.rl a1, a2, (a3)
|
|
# CHECK-INST: amoxor.d.rl a2, a3, (a4)
|
|
# CHECK: encoding: [0x2f,0x36,0xd7,0x22]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoxor.d.rl a2, a3, (a4)
|
|
# CHECK-INST: amoand.d.rl a3, a4, (a5)
|
|
# CHECK: encoding: [0xaf,0xb6,0xe7,0x62]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoand.d.rl a3, a4, (a5)
|
|
# CHECK-INST: amoor.d.rl a4, a5, (a6)
|
|
# CHECK: encoding: [0x2f,0x37,0xf8,0x42]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoor.d.rl a4, a5, (a6)
|
|
# CHECK-INST: amomin.d.rl a5, a6, (a7)
|
|
# CHECK: encoding: [0xaf,0xb7,0x08,0x83]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomin.d.rl a5, a6, (a7)
|
|
# CHECK-INST: amomax.d.rl s7, s6, (s5)
|
|
# CHECK: encoding: [0xaf,0xbb,0x6a,0xa3]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomax.d.rl s7, s6, (s5)
|
|
# CHECK-INST: amominu.d.rl s6, s5, (s4)
|
|
# CHECK: encoding: [0x2f,0x3b,0x5a,0xc3]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amominu.d.rl s6, s5, (s4)
|
|
# CHECK-INST: amomaxu.d.rl s5, s4, (s3)
|
|
# CHECK: encoding: [0xaf,0xba,0x49,0xe3]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomaxu.d.rl s5, s4, (s3)
|
|
|
|
# CHECK-INST: amoswap.d.aqrl a4, ra, (s0)
|
|
# CHECK: encoding: [0x2f,0x37,0x14,0x0e]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoswap.d.aqrl a4, ra, (s0)
|
|
# CHECK-INST: amoadd.d.aqrl a1, a2, (a3)
|
|
# CHECK: encoding: [0xaf,0xb5,0xc6,0x06]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoadd.d.aqrl a1, a2, (a3)
|
|
# CHECK-INST: amoxor.d.aqrl a2, a3, (a4)
|
|
# CHECK: encoding: [0x2f,0x36,0xd7,0x26]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoxor.d.aqrl a2, a3, (a4)
|
|
# CHECK-INST: amoand.d.aqrl a3, a4, (a5)
|
|
# CHECK: encoding: [0xaf,0xb6,0xe7,0x66]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoand.d.aqrl a3, a4, (a5)
|
|
# CHECK-INST: amoor.d.aqrl a4, a5, (a6)
|
|
# CHECK: encoding: [0x2f,0x37,0xf8,0x46]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amoor.d.aqrl a4, a5, (a6)
|
|
# CHECK-INST: amomin.d.aqrl a5, a6, (a7)
|
|
# CHECK: encoding: [0xaf,0xb7,0x08,0x87]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomin.d.aqrl a5, a6, (a7)
|
|
# CHECK-INST: amomax.d.aqrl s7, s6, (s5)
|
|
# CHECK: encoding: [0xaf,0xbb,0x6a,0xa7]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomax.d.aqrl s7, s6, (s5)
|
|
# CHECK-INST: amominu.d.aqrl s6, s5, (s4)
|
|
# CHECK: encoding: [0x2f,0x3b,0x5a,0xc7]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amominu.d.aqrl s6, s5, (s4)
|
|
# CHECK-INST: amomaxu.d.aqrl s5, s4, (s3)
|
|
# CHECK: encoding: [0xaf,0xba,0x49,0xe7]
|
|
# CHECK-RV32: :[[@LINE+1]]:1: error: instruction use requires an option to be enabled
|
|
amomaxu.d.aqrl s5, s4, (s3)
|