1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/MC/RISCV/rv64a-valid.s
Alex Bradbury af453b57a3 [RISCV] Enable emission of alias instructions by default
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
2017-12-15 09:47:01 +00:00

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)