1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
# XAndesPerf - Andes Performance Extension
# RUN: llvm-mc %s -triple=riscv32 -mattr=+xandesperf -show-encoding \
# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+xandesperf < %s \
# RUN: | llvm-objdump --mattr=+xandesperf -M no-aliases --no-print-imm-hex -d -r - \
# RUN: | FileCheck -check-prefixes=CHECK-OBJ,CHECK-OBJ32,CHECK-ASM-AND-OBJ %s
# RUN: llvm-mc %s -triple=riscv64 -mattr=+xandesperf -show-encoding \
# RUN: | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+xandesperf < %s \
# RUN: | llvm-objdump --mattr=+xandesperf -M no-aliases --no-print-imm-hex -d -r - \
# RUN: | FileCheck -check-prefixes=CHECK-OBJ,CHECK-OBJ64,CHECK-ASM-AND-OBJ %s
# CHECK-OBJ: nds.bbc a0, 16, 0x200
# CHECK-ASM: nds.bbc a0, 16, 512
# CHECK-ASM: encoding: [0x5b,0x70,0x05,0x21]
nds.bbc a0, 16, 512
# CHECK-OBJ32: nds.bbs a1, 21, 0xffffff04
# CHECK-OBJ64: nds.bbs a1, 21, 0xffffffffffffff04
# CHECK-ASM: nds.bbs a1, 21, -256
# CHECK-ASM: encoding: [0x5b,0xf0,0x55,0xf1]
nds.bbs a1, 21, -256
# CHECK-OBJ: nds.beqc t0, 23, 0x108
# CHECK-ASM: nds.beqc t0, 23, 256
# CHECK-ASM: encoding: [0x5b,0xd0,0x72,0x11]
nds.beqc t0, 23, 256
# CHECK-OBJ32: nds.bnec t1, 9, 0xffffff8c
# CHECK-OBJ64: nds.bnec t1, 9, 0xffffffffffffff8c
# CHECK-ASM: bnec t1, 9, -128
# CHECK-ASM: encoding: [0x5b,0x60,0x93,0xb8]
nds.bnec t1, 9, -128
# CHECK-ASM-AND-OBJ: nds.bfoz a0, a1, 9, 13
# CHECK-ASM: encoding: [0x5b,0xa5,0xd5,0x24]
nds.bfoz a0, a1, 9, 13
# CHECK-ASM-AND-OBJ: nds.bfos t0, t1, 23, 3
# CHECK-ASM: encoding: [0xdb,0x32,0x33,0x5c]
nds.bfos t0, t1, 23, 3
# CHECK-ASM-AND-OBJ: nds.lea.h t0, t1, t3
# CHECK-ASM: encoding: [0xdb,0x02,0xc3,0x0b]
nds.lea.h t0, t1, t3
# CHECK-ASM-AND-OBJ: nds.lea.w a0, a1, a3
# CHECK-ASM: encoding: [0x5b,0x85,0xd5,0x0c]
nds.lea.w a0, a1, a3
# CHECK-ASM-AND-OBJ: nds.lea.d s0, s1, s3
# CHECK-ASM: encoding: [0x5b,0x84,0x34,0x0f]
nds.lea.d s0, s1, s3
# CHECK-ASM-AND-OBJ: nds.addigp t0, 9568
# CHECK-ASM: encoding: [0x8b,0x12,0x04,0x56]
nds.addigp t0, 0x2560
# CHECK-ASM-AND-OBJ: nds.lbgp t0, -9568
# CHECK-ASM: encoding: [0x8b,0x82,0x1b,0xaa]
nds.lbgp t0, -0x2560
# CHECK-ASM-AND-OBJ: nds.lbugp t0, 9568
# CHECK-ASM: encoding: [0x8b,0x22,0x04,0x56]
nds.lbugp t0, 0x2560
# CHECK-ASM-AND-OBJ: nds.lhgp t0, -9568
# CHECK-ASM: encoding: [0xab,0x92,0x1b,0xaa]
nds.lhgp t0, -0x2560
# CHECK-ASM-AND-OBJ: nds.lhugp t0, 9568
# CHECK-ASM: encoding: [0xab,0x52,0x04,0x56]
nds.lhugp t0, 0x2560
# CHECK-ASM-AND-OBJ: nds.lwgp t0, -9568
# CHECK-ASM: encoding: [0xab,0xa2,0x3b,0xaa]
nds.lwgp t0, -0x2560
# CHECK-ASM-AND-OBJ: nds.sbgp t0, 9568
# CHECK-ASM: encoding: [0x0b,0x30,0x54,0x56]
nds.sbgp t0, 0x2560
# CHECK-ASM-AND-OBJ: nds.shgp t0, -9568
# CHECK-ASM: encoding: [0xab,0x80,0x5b,0xaa]
nds.shgp t0, -0x2560
# CHECK-ASM-AND-OBJ: nds.swgp t0, 9568
# CHECK-ASM: encoding: [0x2b,0x40,0x54,0x56]
nds.swgp t0, 0x2560
# CHECK-ASM-AND-OBJ: nds.ffb t0, t1, t3
# CHECK-ASM: encoding: [0xdb,0x02,0xc3,0x21]
nds.ffb t0, t1, t3
# CHECK-ASM-AND-OBJ: nds.ffzmism a0, a1, a3
# CHECK-ASM: encoding: [0x5b,0x85,0xd5,0x22]
nds.ffzmism a0, a1, a3
# CHECK-ASM-AND-OBJ: nds.ffmism s0, s1, s3
# CHECK-ASM: encoding: [0x5b,0x84,0x34,0x25]
nds.ffmism s0, s1, s3
# CHECK-ASM-AND-OBJ: nds.flmism s0, s1, s3
# CHECK-ASM: encoding: [0x5b,0x84,0x34,0x27]
nds.flmism s0, s1, s3
|