brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.5 KiB · 5a28128 Raw
252 lines · plain
1# RUN: llvm-mc -triple riscv32 -mattr=+c -show-encoding < %s \2# RUN:   | FileCheck -check-prefixes=CHECK,CHECK-ALIAS,CHECK-ALIASASM %s3# RUN: llvm-mc -triple riscv32 -mattr=+c -show-encoding \4# RUN:   -M no-aliases < %s | FileCheck -check-prefixes=CHECK,CHECK-INST,CHECK-INSTASM %s5# RUN: llvm-mc -triple riscv32 -mattr=+c -filetype=obj < %s \6# RUN:   | llvm-objdump  --triple=riscv32 --mattr=+c --no-print-imm-hex -d - \7# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-ALIAS,CHECK-ALIASOBJ32 %s8# RUN: llvm-mc -triple riscv32 -mattr=+c -filetype=obj < %s \9# RUN:   | llvm-objdump  --triple=riscv32 --mattr=+c --no-print-imm-hex -d -M no-aliases - \10# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-INST,CHECK-INSTOBJ32 %s11 12# RUN: llvm-mc -triple riscv64 -mattr=+c -show-encoding < %s \13# RUN:   | FileCheck -check-prefixes=CHECK-ALIAS,CHECK-ALIASASM %s14# RUN: llvm-mc -triple riscv64 -mattr=+c -show-encoding \15# RUN:   -M no-aliases < %s | FileCheck -check-prefixes=CHECK-INST,CHECK-INSTASM %s16# RUN: llvm-mc -triple riscv64 -mattr=+c -filetype=obj < %s \17# RUN:   | llvm-objdump  --triple=riscv64 --mattr=+c --no-print-imm-hex -d - \18# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-ALIAS,CHECK-ALIASOBJ64 %s19# RUN: llvm-mc -triple riscv64 -mattr=+c -filetype=obj < %s \20# RUN:   | llvm-objdump  --triple=riscv64 --mattr=+c --no-print-imm-hex -d -M no-aliases - \21# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-INST,CHECK-INSTOBJ64 %s22 23# CHECK-BYTES: 852e24# CHECK-ALIAS: mv a0, a125# CHECK-INST: c.mv a0, a126# CHECK: # encoding:  [0x2e,0x85]27addi a0, a1, 028 29# CHECK-BYTES: 1fe030# CHECK-ALIAS: addi s0, sp, 102031# CHECK-INST: c.addi4spn s0, sp, 102032# CHECK: # encoding:  [0xe0,0x1f]33addi s0, sp, 102034 35# CHECK-BYTES: 5fe036# CHECK-ALIAS: lw s0, 124(a5)37# CHECK-INST: c.lw s0, 124(a5)38# CHECK: # encoding: [0xe0,0x5f]39lw s0, 124(a5)40 41# CHECK-BYTES: dfe042# CHECK-ALIAS: sw s0, 124(a5)43# CHECK-INST: c.sw s0, 124(a5)44# CHECK: # encoding: [0xe0,0xdf]45sw s0, 124(a5)46 47# CHECK-BYTES: 000148# CHECK-ALIAS: nop49# CHECK-INST: c.nop50# CHECK: # encoding: [0x01,0x00]51nop52 53# CHECK-BYTES: 108154# CHECK-ALIAS: addi ra, ra, -3255# CHECK-INST: c.addi ra, -3256# CHECK: # encoding:  [0x81,0x10]57addi ra, ra, -3258 59# CHECK-BYTES: 508560# CHECK-ALIAS: li ra, -3161# CHECK-INST: c.li ra, -3162# CHECK: # encoding: [0x85,0x50]63li ra, -3164 65# CHECK-BYTES: 713966# CHECK-ALIAS: addi sp, sp, -6467# CHECK-INST: c.addi16sp sp, -6468# CHECK:  # encoding: [0x39,0x71]69addi sp, sp, -6470 71# CHECK-BYTES: 61fd72# CHECK-ALIAS: lui gp, 3173# CHECK-INST: c.lui gp, 3174# CHECK: # encoding:  [0xfd,0x61]75lui gp, 3176 77# CHECK-BYTES: 807d78# CHECK-ALIAS: srli s0, s0, 3179# CHECK-INST: c.srli s0, 3180# CHECK: # encoding:  [0x7d,0x80]81srli s0, s0, 3182 83# CHECK-BYTES: 847d84# CHECK-ALIAS: srai s0, s0, 3185# CHECK-INST: c.srai s0, 3186# CHECK: # encoding: [0x7d,0x84]87srai s0, s0, 3188 89# CHECK-BYTES: 887d90# CHECK-ALIAS: andi s0, s0, 3191# CHECK-INST: c.andi s0, 3192# CHECK: # encoding: [0x7d,0x88]93andi s0, s0, 3194 95# CHECK-BYTES: 8c1d96# CHECK-ALIAS: sub s0, s0, a597# CHECK-INST: c.sub s0, a598# CHECK: # encoding: [0x1d,0x8c]99sub s0, s0, a5100 101# CHECK-BYTES: 8c3d102# CHECK-ALIAS: xor s0, s0, a5103# CHECK-INST: c.xor s0, a5104# CHECK: # encoding: [0x3d,0x8c]105xor s0, s0, a5106 107# CHECK-BYTES: 8c3d108# CHECK-ALIAS: xor s0, s0, a5109# CHECK-INST: c.xor s0, a5110# CHECK: # encoding: [0x3d,0x8c]111xor s0, a5, s0112 113# CHECK-BYTES: 8c5d114# CHECK-ALIAS: or s0, s0, a5115# CHECK-INST: c.or s0, a5116# CHECK: # encoding:  [0x5d,0x8c]117or s0, s0, a5118 119# CHECK-BYTES: 8c45120# CHECK-ALIAS: or s0, s0, s1121# CHECK-INST: c.or s0, s1122# CHECK:  # encoding: [0x45,0x8c]123or  s0, s1, s0124 125# CHECK-BYTES: 8c7d126# CHECK-ALIAS: and s0, s0, a5127# CHECK-INST: c.and s0, a5128# CHECK: # encoding: [0x7d,0x8c]129and s0, s0, a5130 131# CHECK-BYTES: 8c7d132# CHECK-ALIAS: and s0, s0, a5133# CHECK-INST: c.and s0, a5134# CHECK: # encoding: [0x7d,0x8c]135and s0, a5, s0136 137# CHECK-BYTES: b001138# CHECK-ALIASASM: j -2048139# CHECK-ALIASOBJ32: j 0xfffff826140# CHECK-ALIASOBJ64: j 0xfffffffffffff826141# CHECK-INSTASM: c.j -2048142# CHECK-INSTOBJ32: c.j 0xfffff826143# CHECK-INSTOBJ64: c.j 0xfffffffffffff826144# CHECK:  # encoding: [0x01,0xb0]145jal zero, -2048146 147# CHECK-BYTES: d001148# CHECK-ALIASASM: beqz s0, -256149# CHECK-ALIASOBJ32: beqz s0, 0xffffff28150# CHECK-ALIASOBJ64: beqz s0, 0xffffffffffffff28151# CHECK-INSTASM: c.beqz s0, -256152# CHECK-INSTOBJ32: c.beqz s0, 0xffffff28153# CHECK-INSTOBJ64: c.beqz s0, 0xffffffffffffff28154# CHECK: # encoding: [0x01,0xd0]155beq s0, zero, -256156 157# CHECK-BYTES: d001158# CHECK-ALIASASM: beqz s0, -256159# CHECK-ALIASOBJ32: beqz s0, 0xffffff2a160# CHECK-ALIASOBJ64: beqz s0, 0xffffffffffffff2a161# CHECK-INSTASM: c.beqz s0, -256162# CHECK-INSTOBJ32: c.beqz s0, 0xffffff2a163# CHECK-INSTOBJ64: c.beqz s0, 0xffffffffffffff2a164# CHECK: # encoding: [0x01,0xd0]165beq zero, s0, -256166 167# CHECK-BYTES: ec7d168# CHECK-ALIASASM: bnez s0, 254169# CHECK-ALIASOBJ32: bnez s0, 0x12a170# CHECK-ALIASOBJ64: bnez s0, 0x12a171# CHECK-INSTASM: c.bnez s0, 254172# CHECK-INSTOBJ32: c.bnez s0, 0x12a173# CHECK-INSTOBJ64: c.bnez s0, 0x12a174# CHECK: # encoding: [0x7d,0xec]175bne s0, zero, 254176 177# CHECK-BYTES: ec7d178# CHECK-ALIASASM: bnez s0, 254179# CHECK-ALIASOBJ32: bnez s0, 0x12c180# CHECK-ALIASOBJ64: bnez s0, 0x12c181# CHECK-INSTASM: c.bnez s0, 254182# CHECK-INSTOBJ32: c.bnez s0, 0x12c183# CHECK-INSTOBJ64: c.bnez s0, 0x12c184# CHECK: # encoding: [0x7d,0xec]185bne zero, s0, 254186 187# CHECK-BYTES: 047e188# CHECK-ALIAS: slli s0, s0, 31189# CHECK-INST: c.slli s0, 31190# CHECK: # encoding:  [0x7e,0x04]191slli s0, s0, 31192 193# CHECK-BYTES: 50fe194# CHECK-ALIAS: lw ra, 252(sp)195# CHECK-INST: c.lwsp  ra, 252(sp)196# CHECK: # encoding:  [0xfe,0x50]197lw ra, 252(sp)198 199# CHECK-BYTES: 8082200# CHECK-ALIAS: ret201# CHECK-INST: c.jr ra202# CHECK: # encoding:  [0x82,0x80]203jalr zero, 0(ra)204 205# CHECK-BYTES: 8092206# CHECK-ALIAS: mv ra, tp207# CHECK-INST: c.mv ra, tp208# CHECK:  # encoding: [0x92,0x80]209add ra, zero, tp210 211# CHECK-BYTES: 8092212# CHECK-ALIAS: mv ra, tp213# CHECK-INST: c.mv ra, tp214# CHECK:  # encoding: [0x92,0x80]215add ra, tp, zero216 217# CHECK-BYTES: 9002218# CHECK-ALIAS: ebreak219# CHECK-INST: c.ebreak220# CHECK: # encoding: [0x02,0x90]221ebreak222 223# CHECK-BYTES: 9402224# CHECK-ALIAS: jalr s0225# CHECK-INST: c.jalr s0226# CHECK: # encoding: [0x02,0x94]227jalr ra, 0(s0)228 229# CHECK-BYTES: 943e230# CHECK-ALIAS: add s0, s0, a5231# CHECK-INST: c.add s0, a5232# CHECK: # encoding:  [0x3e,0x94]233add s0, a5, s0234 235# CHECK-BYTES: 943e236# CHECK-ALIAS: add s0, s0, a5237# CHECK-INST: c.add s0, a5238# CHECK: # encoding:  [0x3e,0x94]239add s0, s0, a5240 241# CHECK-BYTES: df82242# CHECK-ALIAS: sw zero, 252(sp)243# CHECK-INST: c.swsp zero, 252(sp)244# CHECK: # encoding: [0x82,0xdf]245sw zero, 252(sp)246 247# CHECK-BYTES: 0000248# CHECK-ALIAS: unimp249# CHECK-INST: c.unimp250# CHECK: # encoding: [0x00,0x00]251unimp252