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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
# Xqcics - Qualcomm uC Conditional Select Extension
# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcics -M no-aliases -show-encoding \
# RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcics < %s \
# RUN: | llvm-objdump --mattr=+experimental-xqcics -M no-aliases --no-print-imm-hex -d - \
# RUN: | FileCheck -check-prefix=CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcics -show-encoding \
# RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcics < %s \
# RUN: | llvm-objdump --mattr=+experimental-xqcics --no-print-imm-hex -d - \
# RUN: | FileCheck -check-prefix=CHECK-INST %s
# CHECK-INST: qc.selecteqi s1, 5, tp, gp
# CHECK-ENC: encoding: [0xdb,0xa4,0x42,0x1c]
qc.selecteqi x9, 5, x4, x3
# CHECK-INST: qc.selecteqi s1, -16, tp, gp
# CHECK-ENC: encoding: [0xdb,0x24,0x48,0x1c]
qc.selecteqi x9, -16, x4, x3
# CHECK-INST: qc.selecteqi s1, 15, tp, gp
# CHECK-ENC: encoding: [0xdb,0xa4,0x47,0x1c]
qc.selecteqi x9, 15, x4, x3
# CHECK-INST: qc.selectieq s0, tp, gp, 12
# CHECK-ENC: encoding: [0x5b,0x24,0x32,0x62]
qc.selectieq x8, x4, x3, 12
# CHECK-INST: qc.selectieq s0, tp, gp, -16
# CHECK-ENC: encoding: [0x5b,0x24,0x32,0x82]
qc.selectieq x8, x4, x3, -16
# CHECK-INST: qc.selectieq s0, tp, gp, 15
# CHECK-ENC: encoding: [0x5b,0x24,0x32,0x7a]
qc.selectieq x8, x4, x3, 15
# CHECK-INST: qc.selectieqi s1, 11, gp, 12
# CHECK-ENC: encoding: [0xdb,0xa4,0x35,0x66]
qc.selectieqi x9, 11, x3, 12
# CHECK-INST: qc.selectieqi s1, -16, gp, 12
# CHECK-ENC: encoding: [0xdb,0x24,0x38,0x66]
qc.selectieqi x9, -16, x3, 12
# CHECK-INST: qc.selectieqi s1, 15, gp, 12
# CHECK-ENC: encoding: [0xdb,0xa4,0x37,0x66]
qc.selectieqi x9, 15, x3, 12
# CHECK-INST: qc.selectieqi s1, 11, gp, -16
# CHECK-ENC: encoding: [0xdb,0xa4,0x35,0x86]
qc.selectieqi x9, 11, x3, -16
# CHECK-INST: qc.selectieqi s1, 11, gp, 15
# CHECK-ENC: encoding: [0xdb,0xa4,0x35,0x7e]
qc.selectieqi x9, 11, x3, 15
# CHECK-INST: qc.selectiieq s1, gp, 11, 12
# CHECK-ENC: encoding: [0xdb,0xa4,0xb1,0x60]
qc.selectiieq x9, x3, 11, 12
# CHECK-INST: qc.selectiieq s1, gp, -16, 12
# CHECK-ENC: encoding: [0xdb,0xa4,0x01,0x61]
qc.selectiieq x9, x3, -16, 12
# CHECK-INST: qc.selectiieq s1, gp, 15, 12
# CHECK-ENC: encoding: [0xdb,0xa4,0xf1,0x60]
qc.selectiieq x9, x3, 15, 12
# CHECK-INST: qc.selectiieq s1, gp, 11, -16
# CHECK-ENC: encoding: [0xdb,0xa4,0xb1,0x80]
qc.selectiieq x9, x3, 11, -16
# CHECK-INST: qc.selectiieq s1, gp, 11, 15
# CHECK-ENC: encoding: [0xdb,0xa4,0xb1,0x78]
qc.selectiieq x9, x3, 11, 15
# CHECK-INST: qc.selectiine s0, gp, 10, 11
# CHECK-ENC: encoding: [0x5b,0xb4,0xa1,0x58]
qc.selectiine x8, x3, 10, 11
# CHECK-INST: qc.selectiine s0, gp, -16, 11
# CHECK-ENC: encoding: [0x5b,0xb4,0x01,0x59]
qc.selectiine x8, x3, -16, 11
# CHECK-INST: qc.selectiine s0, gp, 15, 11
# CHECK-ENC: encoding: [0x5b,0xb4,0xf1,0x58]
qc.selectiine x8, x3, 15, 11
# CHECK-INST: qc.selectiine s0, gp, 10, -16
# CHECK-ENC: encoding: [0x5b,0xb4,0xa1,0x80]
qc.selectiine x8, x3, 10, -16
# CHECK-INST: qc.selectiine s0, gp, 10, 15
# CHECK-ENC: encoding: [0x5b,0xb4,0xa1,0x78]
qc.selectiine x8, x3, 10, 15
# CHECK-INST: qc.selectine s0, gp, tp, 11
# CHECK-ENC: encoding: [0x5b,0xb4,0x41,0x5a]
qc.selectine x8, x3, x4, 11
# CHECK-INST: qc.selectine s0, gp, tp, -16
# CHECK-ENC: encoding: [0x5b,0xb4,0x41,0x82]
qc.selectine x8, x3, x4, -16
# CHECK-INST: qc.selectine s0, gp, tp, 15
# CHECK-ENC: encoding: [0x5b,0xb4,0x41,0x7a]
qc.selectine x8, x3, x4, 15
# CHECK-INST: qc.selectinei s0, 11, gp, 12
# CHECK-ENC: encoding: [0x5b,0xb4,0x35,0x66]
qc.selectinei x8, 11, x3, 12
# CHECK-INST: qc.selectinei s0, -16, gp, 12
# CHECK-ENC: encoding: [0x5b,0x34,0x38,0x66]
qc.selectinei x8, -16, x3, 12
# CHECK-INST: qc.selectinei s0, 15, gp, 12
# CHECK-ENC: encoding: [0x5b,0xb4,0x37,0x66]
qc.selectinei x8, 15, x3, 12
# CHECK-INST: qc.selectinei s0, 11, gp, -16
# CHECK-ENC: encoding: [0x5b,0xb4,0x35,0x86]
qc.selectinei x8, 11, x3, -16
# CHECK-INST: qc.selectinei s0, 11, gp, 15
# CHECK-ENC: encoding: [0x5b,0xb4,0x35,0x7e]
qc.selectinei x8, 11, x3, 15
# CHECK-INST: qc.selectnei s0, 11, gp, t0
# CHECK-ENC: encoding: [0x5b,0xb4,0x35,0x2c]
qc.selectnei x8, 11, x3, x5
# CHECK-INST: qc.selectnei s0, -16, gp, t0
# CHECK-ENC: encoding: [0x5b,0x34,0x38,0x2c]
qc.selectnei x8, -16, x3, x5
# CHECK-INST: qc.selectnei s0, 15, gp, t0
# CHECK-ENC: encoding: [0x5b,0xb4,0x37,0x2c]
qc.selectnei x8, 15, x3, x5
|