brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.4 KiB · d35fdcc Raw
264 lines · plain
1# RUN: llvm-mc %s -triple=riscv32 -M no-aliases \2# RUN:     | FileCheck -check-prefixes=CHECK-EXPAND,CHECK-INST,CHECK-ASM-NOALIAS %s3# RUN: llvm-mc %s -triple=riscv32 \4# RUN:     | FileCheck -check-prefixes=CHECK-EXPAND,CHECK-ALIAS,CHECK-ASM %s5# RUN: llvm-mc -filetype=obj -triple riscv32 < %s \6# RUN:     | llvm-objdump -M no-aliases --no-print-imm-hex -d -r - \7# RUN:     | FileCheck -check-prefixes=CHECK-OBJ-NOALIAS,CHECK-EXPAND,CHECK-INST %s8# RUN: llvm-mc -filetype=obj -triple riscv32 < %s \9# RUN:     | llvm-objdump --no-print-imm-hex -d -r - \10# RUN:     | FileCheck -check-prefixes=CHECK-EXPAND,CHECK-ALIAS %s11 12# The following check prefixes are used in this test:13# CHECK-INST.....Match the canonical instr (tests alias to instr. mapping)14# CHECK-ALIAS....Match the alias (tests instr. to alias mapping)15# CHECK-EXPAND...Match canonical instr. unconditionally (tests alias expansion)16 17# Needed for testing valid %pcrel_lo expressions18.Lpcrel_hi0: auipc a0, %pcrel_hi(foo)19 20# Needed for testing li with a symbol difference21.Lbuf: .skip 822.Lbuf_end:23 24# CHECK-INST: addi a0, zero, 025# CHECK-ALIAS: li a0, 026li x10, 027# CHECK-INST: addi a0, zero, 128# CHECK-ALIAS: li a0, 129li x10, 130# CHECK-INST: addi a0, zero, -131# CHECK-ALIAS: li a0, -132li x10, -133# CHECK-INST: addi a0, zero, 204734# CHECK-ALIAS: li a0, 204735li x10, 204736# CHECK-INST: addi a0, zero, -204737# CHECK-ALIAS: li a0, -204738li x10, -204739# CHECK-INST: addi a1, zero, 140# CHECK-INST: slli a1, a1, 1141# CHECK-ALIAS: li a1, 142# CHECK-ALIAS: slli a1, a1, 1143li x11, 204844# CHECK-INST: addi a1, zero, -204845# CHECK-ALIAS: li a1, -204846li x11, -204847# CHECK-EXPAND: lui a1, 148# CHECK-EXPAND: addi a1, a1, -204749li x11, 204950# CHECK-EXPAND: lui a1, 104857551# CHECK-EXPAND: addi a1, a1, 204752li x11, -204953# CHECK-EXPAND: lui a1, 154# CHECK-EXPAND: addi a1, a1, -155li x11, 409556# CHECK-EXPAND: lui a1, 104857557# CHECK-EXPAND: addi a1, a1, 158li x11, -409559# CHECK-EXPAND: lui a2, 160li x12, 409661# CHECK-EXPAND: lui a2, 104857562li x12, -409663# CHECK-EXPAND: lui a2, 164# CHECK-EXPAND: addi a2, a2, 165li x12, 409766# CHECK-EXPAND: lui a2, 104857567# CHECK-EXPAND: addi a2, a2, -168li x12, -409769# CHECK-EXPAND: lui a2, 52428870# CHECK-EXPAND: addi a2, a2, -171li x12, 214748364772# CHECK-EXPAND: lui a2, 52428873# CHECK-EXPAND: addi a2, a2, 174li x12, -214748364775# CHECK-EXPAND: lui a2, 52428876li x12, -214748364877# CHECK-EXPAND: lui a2, 52428878li x12, -0x8000000079 80# CHECK-EXPAND: lui a2, 52428881li x12, 0x8000000082# CHECK-INST: addi a2, zero, -183# CHECK-ALIAS: li a2, -184li x12, 0xFFFFFFFF85 86# CHECK-ASM-NOALIAS: addi a0, zero, %lo(1193046)87# CHECK-OBJ-NOALIAS: addi a0, zero, 111088# CHECK-ASM: addi a0, zero, %lo(1193046)89li a0, %lo(0x123456)90 91# CHECK-OBJ-NOALIAS: addi a0, zero, 092# CHECK-OBJ: R_RISCV_LO1293li a0, %lo(foo)94# CHECK-OBJ-NOALIAS: addi a0, zero, 095# CHECK-OBJ: R_RISCV_PCREL_LO1296li a0, %pcrel_lo(.Lpcrel_hi0)97 98.equ CONST, 0x12345699# CHECK-EXPAND: lui a0, 291100# CHECK-EXPAND: addi a0, a0, 1110101li a0, CONST102# CHECK-EXPAND: lui a0, 291103# CHECK-EXPAND: addi a0, a0, 1111104li a0, CONST+1105 106.equ CONST, 0x654321107# CHECK-EXPAND: lui a0, 1620108# CHECK-EXPAND: addi a0, a0, 801109li a0, CONST110 111.equ CONST, .Lbuf_end - .Lbuf112# CHECK-ASM: li a0, CONST113# CHECK-ASM-NOALIAS: addi a0, zero, CONST114# CHECK-OBJ-NOALIAS: addi a0, zero, 8115li a0, CONST116 117# CHECK-ASM: addi a0, zero, .Lbuf_end-.Lbuf118# CHECK-ASM-NOALIAS: addi a0, zero, .Lbuf_end-.Lbuf119# CHECK-OBJ-NOALIAS: addi a0, zero, 8120li a0, .Lbuf_end - .Lbuf121 122# CHECK-INST: addi a0, zero, 0123# CHECK-ALIAS: li a0, 0124la x10, 0125lla x10, 0126# CHECK-INST: addi a0, zero, 1127# CHECK-ALIAS: li a0, 1128la x10, 1129lla x10, 1130# CHECK-INST: addi a0, zero, -1131# CHECK-ALIAS: li a0, -1132la x10, -1133lla x10, -1134# CHECK-INST: addi a0, zero, 2047135# CHECK-ALIAS: li a0, 2047136la x10, 2047137lla x10, 2047138# CHECK-INST: addi a0, zero, -2047139# CHECK-ALIAS: li a0, -2047140la x10, -2047141lla x10, -2047142# CHECK-INST: addi a1, zero, 1143# CHECK-INST: slli a1, a1, 11144# CHECK-ALIAS: li a1, 1145# CHECK-ALIAS: slli a1, a1, 11146la x11, 2048147lla x11, 2048148# CHECK-INST: addi a1, zero, -2048149# CHECK-ALIAS: li a1, -2048150la x11, -2048151lla x11, -2048152# CHECK-EXPAND: lui a1, 1153# CHECK-EXPAND: addi a1, a1, -2047154la x11, 2049155lla x11, 2049156# CHECK-EXPAND: lui a1, 1048575157# CHECK-EXPAND: addi a1, a1, 2047158la x11, -2049159lla x11, -2049160# CHECK-EXPAND: lui a1, 1161# CHECK-EXPAND: addi a1, a1, -1162la x11, 4095163lla x11, 4095164# CHECK-EXPAND: lui a1, 1048575165# CHECK-EXPAND: addi a1, a1, 1166la x11, -4095167lla x11, -4095168# CHECK-EXPAND: lui a2, 1169la x12, 4096170lla x12, 4096171# CHECK-EXPAND: lui a2, 1048575172la x12, -4096173lla x12, -4096174# CHECK-EXPAND: lui a2, 1175# CHECK-EXPAND: addi a2, a2, 1176la x12, 4097177lla x12, 4097178# CHECK-EXPAND: lui a2, 1048575179# CHECK-EXPAND: addi a2, a2, -1180la x12, -4097181lla x12, -4097182# CHECK-EXPAND: lui a2, 524288183# CHECK-EXPAND: addi a2, a2, -1184la x12, 2147483647185lla x12, 2147483647186# CHECK-EXPAND: lui a2, 524288187# CHECK-EXPAND: addi a2, a2, 1188la x12, -2147483647189lla x12, -2147483647190# CHECK-EXPAND: lui a2, 524288191la x12, -2147483648192lla x12, -2147483648193# CHECK-EXPAND: lui a2, 524288194la x12, -0x80000000195lla x12, -0x80000000196 197# CHECK-EXPAND: lui a2, 524288198la x12, 0x80000000199lla x12, 0x80000000200# CHECK-INST: addi a2, zero, -1201# CHECK-ALIAS: li a2, -1202la x12, 0xFFFFFFFF203lla x12, 0xFFFFFFFF204 205.equ CONSTANT, 0x123456206# CHECK-EXPAND: lui a0, 291207# CHECK-EXPAND: addi a0, a0, 1110208la a0, CONSTANT209lla a0, CONSTANT210# CHECK-EXPAND: lui a0, 291211# CHECK-EXPAND: addi a0, a0, 1111212la a0, CONSTANT+1213lla a0, CONSTANT+1214 215.equ CONSTANT, 0x654321216# CHECK-EXPAND: lui a0, 1620217# CHECK-EXPAND: addi a0, a0, 801218la a0, CONSTANT219lla a0, CONSTANT220 221# CHECK-INST: csrrs t4, instreth, zero222# CHECK-ALIAS: rdinstreth t4223rdinstreth x29224# CHECK-INST: csrrs s11, cycleh, zero225# CHECK-ALIAS: rdcycleh s11226rdcycleh x27227# CHECK-INST: csrrs t3, timeh, zero228# CHECK-ALIAS: rdtimeh t3229rdtimeh x28230 231# CHECK-EXPAND: lb a0, 0(a1)232lb x10, (x11)233# CHECK-EXPAND: lh a0, 0(a1)234lh x10, (x11)235# CHECK-EXPAND: lw a0, 0(a1)236lw x10, (x11)237# CHECK-EXPAND: lbu a0, 0(a1)238lbu x10, (x11)239# CHECK-EXPAND: lhu a0, 0(a1)240lhu x10, (x11)241 242# CHECK-EXPAND: sb a0, 0(a1)243sb x10, (x11)244# CHECK-EXPAND: sh a0, 0(a1)245sh x10, (x11)246# CHECK-EXPAND: sw a0, 0(a1)247sw x10, (x11)248 249# CHECK-EXPAND: slli a0, a1, 24250# CHECK-EXPAND: srai a0, a0, 24251sext.b x10, x11252 253# CHECK-EXPAND: slli a0, a1, 16254# CHECK-EXPAND: srai a0, a0, 16255sext.h x10, x11256 257# CHECK-INST: andi a0, a1, 255258# CHECK-ALIAS: zext.b a0, a1259zext.b x10, x11260 261# CHECK-EXPAND: slli a0, a1, 16262# CHECK-EXPAND: srli a0, a0, 16263zext.h x10, x11264