133 lines · plain
1# RUN: llvm-mc %s -triple=riscv32 -mattr=+a -M no-aliases -show-encoding \2# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s3# RUN: llvm-mc %s -triple=riscv64 -mattr=+a -M no-aliases -show-encoding \4# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s5# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+a < %s \6# RUN: | llvm-objdump --mattr=+a -M no-aliases -d -r - \7# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s8# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+a < %s \9# RUN: | llvm-objdump --mattr=+a -M no-aliases -d -r - \10# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s11# RUN: llvm-mc %s -triple=riscv32 -mattr=+zaamo -M no-aliases -show-encoding \12# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s13# RUN: llvm-mc %s -triple=riscv64 -mattr=+zaamo -M no-aliases -show-encoding \14# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s15# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+zaamo < %s \16# RUN: | llvm-objdump --mattr=+zaamo -M no-aliases -d -r - \17# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s18# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+zaamo < %s \19# RUN: | llvm-objdump --mattr=+zaamo -M no-aliases -d -r - \20# RUN: | FileCheck --check-prefix=CHECK-ASM-AND-OBJ %s21 22# CHECK-ASM-AND-OBJ: amoswap.w a4, ra, (s0)23# CHECK-ASM: encoding: [0x2f,0x27,0x14,0x08]24amoswap.w a4, ra, (s0)25# CHECK-ASM-AND-OBJ: amoadd.w a1, a2, (a3)26# CHECK-ASM: encoding: [0xaf,0xa5,0xc6,0x00]27amoadd.w a1, a2, (a3)28# CHECK-ASM-AND-OBJ: amoxor.w a2, a3, (a4)29# CHECK-ASM: encoding: [0x2f,0x26,0xd7,0x20]30amoxor.w a2, a3, (a4)31# CHECK-ASM-AND-OBJ: amoand.w a3, a4, (a5)32# CHECK-ASM: encoding: [0xaf,0xa6,0xe7,0x60]33amoand.w a3, a4, (a5)34# CHECK-ASM-AND-OBJ: amoor.w a4, a5, (a6)35# CHECK-ASM: encoding: [0x2f,0x27,0xf8,0x40]36amoor.w a4, a5, (a6)37# CHECK-ASM-AND-OBJ: amomin.w a5, a6, (a7)38# CHECK-ASM: encoding: [0xaf,0xa7,0x08,0x81]39amomin.w a5, a6, (a7)40# CHECK-ASM-AND-OBJ: amomax.w s7, s6, (s5)41# CHECK-ASM: encoding: [0xaf,0xab,0x6a,0xa1]42amomax.w s7, s6, (s5)43# CHECK-ASM-AND-OBJ: amominu.w s6, s5, (s4)44# CHECK-ASM: encoding: [0x2f,0x2b,0x5a,0xc1]45amominu.w s6, s5, (s4)46# CHECK-ASM-AND-OBJ: amomaxu.w s5, s4, (s3)47# CHECK-ASM: encoding: [0xaf,0xaa,0x49,0xe1]48amomaxu.w s5, s4, (s3)49 50# CHECK-ASM-AND-OBJ: amoswap.w.aq a4, ra, (s0)51# CHECK-ASM: encoding: [0x2f,0x27,0x14,0x0c]52amoswap.w.aq a4, ra, (s0)53# CHECK-ASM-AND-OBJ: amoadd.w.aq a1, a2, (a3)54# CHECK-ASM: encoding: [0xaf,0xa5,0xc6,0x04]55amoadd.w.aq a1, a2, (a3)56# CHECK-ASM-AND-OBJ: amoxor.w.aq a2, a3, (a4)57# CHECK-ASM: encoding: [0x2f,0x26,0xd7,0x24]58amoxor.w.aq a2, a3, (a4)59# CHECK-ASM-AND-OBJ: amoand.w.aq a3, a4, (a5)60# CHECK-ASM: encoding: [0xaf,0xa6,0xe7,0x64]61amoand.w.aq a3, a4, (a5)62# CHECK-ASM-AND-OBJ: amoor.w.aq a4, a5, (a6)63# CHECK-ASM: encoding: [0x2f,0x27,0xf8,0x44]64amoor.w.aq a4, a5, (a6)65# CHECK-ASM-AND-OBJ: amomin.w.aq a5, a6, (a7)66# CHECK-ASM: encoding: [0xaf,0xa7,0x08,0x85]67amomin.w.aq a5, a6, (a7)68# CHECK-ASM-AND-OBJ: amomax.w.aq s7, s6, (s5)69# CHECK-ASM: encoding: [0xaf,0xab,0x6a,0xa5]70amomax.w.aq s7, s6, (s5)71# CHECK-ASM-AND-OBJ: amominu.w.aq s6, s5, (s4)72# CHECK-ASM: encoding: [0x2f,0x2b,0x5a,0xc5]73amominu.w.aq s6, s5, (s4)74# CHECK-ASM-AND-OBJ: amomaxu.w.aq s5, s4, (s3)75# CHECK-ASM: encoding: [0xaf,0xaa,0x49,0xe5]76amomaxu.w.aq s5, s4, (s3)77 78# CHECK-ASM-AND-OBJ: amoswap.w.rl a4, ra, (s0)79# CHECK-ASM: encoding: [0x2f,0x27,0x14,0x0a]80amoswap.w.rl a4, ra, (s0)81# CHECK-ASM-AND-OBJ: amoadd.w.rl a1, a2, (a3)82# CHECK-ASM: encoding: [0xaf,0xa5,0xc6,0x02]83amoadd.w.rl a1, a2, (a3)84# CHECK-ASM-AND-OBJ: amoxor.w.rl a2, a3, (a4)85# CHECK-ASM: encoding: [0x2f,0x26,0xd7,0x22]86amoxor.w.rl a2, a3, (a4)87# CHECK-ASM-AND-OBJ: amoand.w.rl a3, a4, (a5)88# CHECK-ASM: encoding: [0xaf,0xa6,0xe7,0x62]89amoand.w.rl a3, a4, (a5)90# CHECK-ASM-AND-OBJ: amoor.w.rl a4, a5, (a6)91# CHECK-ASM: encoding: [0x2f,0x27,0xf8,0x42]92amoor.w.rl a4, a5, (a6)93# CHECK-ASM-AND-OBJ: amomin.w.rl a5, a6, (a7)94# CHECK-ASM: encoding: [0xaf,0xa7,0x08,0x83]95amomin.w.rl a5, a6, (a7)96# CHECK-ASM-AND-OBJ: amomax.w.rl s7, s6, (s5)97# CHECK-ASM: encoding: [0xaf,0xab,0x6a,0xa3]98amomax.w.rl s7, s6, (s5)99# CHECK-ASM-AND-OBJ: amominu.w.rl s6, s5, (s4)100# CHECK-ASM: encoding: [0x2f,0x2b,0x5a,0xc3]101amominu.w.rl s6, s5, (s4)102# CHECK-ASM-AND-OBJ: amomaxu.w.rl s5, s4, (s3)103# CHECK-ASM: encoding: [0xaf,0xaa,0x49,0xe3]104amomaxu.w.rl s5, s4, (s3)105 106# CHECK-ASM-AND-OBJ: amoswap.w.aqrl a4, ra, (s0)107# CHECK-ASM: encoding: [0x2f,0x27,0x14,0x0e]108amoswap.w.aqrl a4, ra, (s0)109# CHECK-ASM-AND-OBJ: amoadd.w.aqrl a1, a2, (a3)110# CHECK-ASM: encoding: [0xaf,0xa5,0xc6,0x06]111amoadd.w.aqrl a1, a2, (a3)112# CHECK-ASM-AND-OBJ: amoxor.w.aqrl a2, a3, (a4)113# CHECK-ASM: encoding: [0x2f,0x26,0xd7,0x26]114amoxor.w.aqrl a2, a3, (a4)115# CHECK-ASM-AND-OBJ: amoand.w.aqrl a3, a4, (a5)116# CHECK-ASM: encoding: [0xaf,0xa6,0xe7,0x66]117amoand.w.aqrl a3, a4, (a5)118# CHECK-ASM-AND-OBJ: amoor.w.aqrl a4, a5, (a6)119# CHECK-ASM: encoding: [0x2f,0x27,0xf8,0x46]120amoor.w.aqrl a4, a5, (a6)121# CHECK-ASM-AND-OBJ: amomin.w.aqrl a5, a6, (a7)122# CHECK-ASM: encoding: [0xaf,0xa7,0x08,0x87]123amomin.w.aqrl a5, a6, (a7)124# CHECK-ASM-AND-OBJ: amomax.w.aqrl s7, s6, (s5)125# CHECK-ASM: encoding: [0xaf,0xab,0x6a,0xa7]126amomax.w.aqrl s7, s6, (s5)127# CHECK-ASM-AND-OBJ: amominu.w.aqrl s6, s5, (s4)128# CHECK-ASM: encoding: [0x2f,0x2b,0x5a,0xc7]129amominu.w.aqrl s6, s5, (s4)130# CHECK-ASM-AND-OBJ: amomaxu.w.aqrl s5, s4, (s3)131# CHECK-ASM: encoding: [0xaf,0xaa,0x49,0xe7]132amomaxu.w.aqrl s5, s4, (s3)133