|
| 1 | +# RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve -show-encoding < %s \ |
| 2 | +# RUN: | FileCheck --check-prefix=CHECK-NOFP %s |
| 3 | +# RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding < %s 2>%t \ |
| 4 | +# RUN: | FileCheck --check-prefix=CHECK %s |
| 5 | +# RUN: FileCheck --check-prefix=ERROR < %t %s |
| 6 | + |
| 7 | +# CHECK: vcvtb.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x2e] |
| 8 | +# CHECK-NOFP-NOT: vcvtb.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x2e] |
| 9 | +vcvtb.f16.f32 q1, q4 |
| 10 | + |
| 11 | +# CHECK: vcvtt.f32.f16 q0, q1 @ encoding: [0x3f,0xfe,0x03,0x1e] |
| 12 | +# CHECK-NOFP-NOT: vcvtt.f32.f16 q0, q1 @ encoding: [0x3f,0xfe,0x03,0x1e] |
| 13 | +vcvtt.f32.f16 q0, q1 |
| 14 | + |
| 15 | +# CHECK: vcvtt.f64.f16 d0, s0 @ encoding: [0xb2,0xee,0xc0,0x0b] |
| 16 | +# CHECK-NOFP-NOT: vcvtt.f64.f16 d0, s0 @ encoding: [0xb2,0xee,0xc0,0x0b] |
| 17 | +vcvtt.f64.f16 d0, s0 |
| 18 | + |
| 19 | +# CHECK: vcvtt.f16.f64 s1, d2 @ encoding: [0xf3,0xee,0xc2,0x0b] |
| 20 | +# CHECK-NOFP-NOT: vcvtt.f16.f64 s1, d2 @ encoding: [0xf3,0xee,0xc2,0x0b] |
| 21 | +vcvtt.f16.f64 s1, d2 |
| 22 | + |
| 23 | +# CHECK: vcvtt.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x3e] |
| 24 | +# CHECK-NOFP-NOT: vcvtt.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x3e] |
| 25 | +vcvtt.f16.f32 q1, q4 |
| 26 | + |
| 27 | +# CHECK: vqdmladhx.s8 q1, q6, q6 @ encoding: [0x0c,0xee,0x0c,0x3e] |
| 28 | +# CHECK-NOFP: vqdmladhx.s8 q1, q6, q6 @ encoding: [0x0c,0xee,0x0c,0x3e] |
| 29 | +vqdmladhx.s8 q1, q6, q6 |
| 30 | + |
| 31 | +# CHECK: vqdmladhx.s16 q0, q1, q4 @ encoding: [0x12,0xee,0x08,0x1e] |
| 32 | +# CHECK-NOFP: vqdmladhx.s16 q0, q1, q4 @ encoding: [0x12,0xee,0x08,0x1e] |
| 33 | +vqdmladhx.s16 q0, q1, q4 |
| 34 | + |
| 35 | +# CHECK: vqdmladhx.s32 q0, q3, q7 @ encoding: [0x26,0xee,0x0e,0x1e] |
| 36 | +# CHECK-NOFP: vqdmladhx.s32 q0, q3, q7 @ encoding: [0x26,0xee,0x0e,0x1e] |
| 37 | +vqdmladhx.s32 q0, q3, q7 |
| 38 | + |
| 39 | +# CHECK: vqdmladh.s8 q0, q1, q1 @ encoding: [0x02,0xee,0x02,0x0e] |
| 40 | +# CHECK-NOFP: vqdmladh.s8 q0, q1, q1 @ encoding: [0x02,0xee,0x02,0x0e] |
| 41 | +vqdmladh.s8 q0, q1, q1 |
| 42 | + |
| 43 | +# CHECK: vqdmladh.s16 q0, q2, q2 @ encoding: [0x14,0xee,0x04,0x0e] |
| 44 | +# CHECK-NOFP: vqdmladh.s16 q0, q2, q2 @ encoding: [0x14,0xee,0x04,0x0e] |
| 45 | +vqdmladh.s16 q0, q2, q2 |
| 46 | + |
| 47 | +# CHECK: vqdmladh.s32 q1, q5, q7 @ encoding: [0x2a,0xee,0x0e,0x2e] |
| 48 | +# CHECK-NOFP: vqdmladh.s32 q1, q5, q7 @ encoding: [0x2a,0xee,0x0e,0x2e] |
| 49 | +vqdmladh.s32 q1, q5, q7 |
| 50 | + |
| 51 | +# CHECK: vqrdmladhx.s8 q0, q7, q0 @ encoding: [0x0e,0xee,0x01,0x1e] |
| 52 | +# CHECK-NOFP: vqrdmladhx.s8 q0, q7, q0 @ encoding: [0x0e,0xee,0x01,0x1e] |
| 53 | +vqrdmladhx.s8 q0, q7, q0 |
| 54 | + |
| 55 | +# CHECK: vqrdmladhx.s16 q0, q0, q1 @ encoding: [0x10,0xee,0x03,0x1e] |
| 56 | +# CHECK-NOFP: vqrdmladhx.s16 q0, q0, q1 @ encoding: [0x10,0xee,0x03,0x1e] |
| 57 | +vqrdmladhx.s16 q0, q0, q1 |
| 58 | + |
| 59 | +# CHECK: vqrdmladhx.s32 q1, q0, q4 @ encoding: [0x20,0xee,0x09,0x3e] |
| 60 | +# CHECK-NOFP: vqrdmladhx.s32 q1, q0, q4 @ encoding: [0x20,0xee,0x09,0x3e] |
| 61 | +vqrdmladhx.s32 q1, q0, q4 |
| 62 | + |
| 63 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qn register can't be identical |
| 64 | +vqrdmladhx.s32 q1, q1, q0 |
| 65 | + |
| 66 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qm register can't be identical |
| 67 | +vqrdmladhx.s32 q1, q0, q1 |
| 68 | + |
| 69 | +# CHECK: vqrdmladh.s8 q0, q6, q2 @ encoding: [0x0c,0xee,0x05,0x0e] |
| 70 | +# CHECK-NOFP: vqrdmladh.s8 q0, q6, q2 @ encoding: [0x0c,0xee,0x05,0x0e] |
| 71 | +vqrdmladh.s8 q0, q6, q2 |
| 72 | + |
| 73 | +# CHECK: vqrdmladh.s16 q1, q5, q4 @ encoding: [0x1a,0xee,0x09,0x2e] |
| 74 | +# CHECK-NOFP: vqrdmladh.s16 q1, q5, q4 @ encoding: [0x1a,0xee,0x09,0x2e] |
| 75 | +vqrdmladh.s16 q1, q5, q4 |
| 76 | + |
| 77 | +# CHECK: vqrdmladh.s32 q0, q2, q2 @ encoding: [0x24,0xee,0x05,0x0e] |
| 78 | +# CHECK-NOFP: vqrdmladh.s32 q0, q2, q2 @ encoding: [0x24,0xee,0x05,0x0e] |
| 79 | +vqrdmladh.s32 q0, q2, q2 |
| 80 | + |
| 81 | +# CHECK: vqdmlsdhx.s8 q1, q4, q7 @ encoding: [0x08,0xfe,0x0e,0x3e] |
| 82 | +# CHECK-NOFP: vqdmlsdhx.s8 q1, q4, q7 @ encoding: [0x08,0xfe,0x0e,0x3e] |
| 83 | +vqdmlsdhx.s8 q1, q4, q7 |
| 84 | + |
| 85 | +# CHECK: vqdmlsdhx.s16 q0, q2, q5 @ encoding: [0x14,0xfe,0x0a,0x1e] |
| 86 | +# CHECK-NOFP: vqdmlsdhx.s16 q0, q2, q5 @ encoding: [0x14,0xfe,0x0a,0x1e] |
| 87 | +vqdmlsdhx.s16 q0, q2, q5 |
| 88 | + |
| 89 | +# CHECK: vqdmlsdhx.s32 q3, q4, q6 @ encoding: [0x28,0xfe,0x0c,0x7e] |
| 90 | +# CHECK-NOFP: vqdmlsdhx.s32 q3, q4, q6 @ encoding: [0x28,0xfe,0x0c,0x7e] |
| 91 | +vqdmlsdhx.s32 q3, q4, q6 |
| 92 | + |
| 93 | +# CHECK: vqdmlsdh.s8 q0, q3, q6 @ encoding: [0x06,0xfe,0x0c,0x0e] |
| 94 | +# CHECK-NOFP: vqdmlsdh.s8 q0, q3, q6 @ encoding: [0x06,0xfe,0x0c,0x0e] |
| 95 | +vqdmlsdh.s8 q0, q3, q6 |
| 96 | + |
| 97 | +# CHECK: vqdmlsdh.s16 q0, q4, q1 @ encoding: [0x18,0xfe,0x02,0x0e] |
| 98 | +# CHECK-NOFP: vqdmlsdh.s16 q0, q4, q1 @ encoding: [0x18,0xfe,0x02,0x0e] |
| 99 | +vqdmlsdh.s16 q0, q4, q1 |
| 100 | + |
| 101 | +# CHECK: vqdmlsdh.s32 q2, q5, q0 @ encoding: [0x2a,0xfe,0x00,0x4e] |
| 102 | +# CHECK-NOFP: vqdmlsdh.s32 q2, q5, q0 @ encoding: [0x2a,0xfe,0x00,0x4e] |
| 103 | +vqdmlsdh.s32 q2, q5, q0 |
| 104 | + |
| 105 | +# CHECK: vqrdmlsdhx.s8 q0, q3, q1 @ encoding: [0x06,0xfe,0x03,0x1e] |
| 106 | +# CHECK-NOFP: vqrdmlsdhx.s8 q0, q3, q1 @ encoding: [0x06,0xfe,0x03,0x1e] |
| 107 | +vqrdmlsdhx.s8 q0, q3, q1 |
| 108 | + |
| 109 | +# CHECK: vqrdmlsdhx.s16 q0, q1, q4 @ encoding: [0x12,0xfe,0x09,0x1e] |
| 110 | +# CHECK-NOFP: vqrdmlsdhx.s16 q0, q1, q4 @ encoding: [0x12,0xfe,0x09,0x1e] |
| 111 | +vqrdmlsdhx.s16 q0, q1, q4 |
| 112 | + |
| 113 | +# CHECK: vqrdmlsdhx.s32 q1, q6, q3 @ encoding: [0x2c,0xfe,0x07,0x3e] |
| 114 | +# CHECK-NOFP: vqrdmlsdhx.s32 q1, q6, q3 @ encoding: [0x2c,0xfe,0x07,0x3e] |
| 115 | +vqrdmlsdhx.s32 q1, q6, q3 |
| 116 | + |
| 117 | +# CHECK: vqrdmlsdh.s8 q3, q3, q0 @ encoding: [0x06,0xfe,0x01,0x6e] |
| 118 | +# CHECK-NOFP: vqrdmlsdh.s8 q3, q3, q0 @ encoding: [0x06,0xfe,0x01,0x6e] |
| 119 | +vqrdmlsdh.s8 q3, q3, q0 |
| 120 | + |
| 121 | +# CHECK: vqrdmlsdh.s16 q0, q7, q4 @ encoding: [0x1e,0xfe,0x09,0x0e] |
| 122 | +# CHECK-NOFP: vqrdmlsdh.s16 q0, q7, q4 @ encoding: [0x1e,0xfe,0x09,0x0e] |
| 123 | +vqrdmlsdh.s16 q0, q7, q4 |
| 124 | + |
| 125 | +# CHECK: vqrdmlsdh.s32 q0, q6, q7 @ encoding: [0x2c,0xfe,0x0f,0x0e] |
| 126 | +# CHECK-NOFP: vqrdmlsdh.s32 q0, q6, q7 @ encoding: [0x2c,0xfe,0x0f,0x0e] |
| 127 | +vqrdmlsdh.s32 q0, q6, q7 |
| 128 | + |
| 129 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qn register can't be identical |
| 130 | +vqrdmlsdh.s32 q0, q0, q7 |
| 131 | + |
| 132 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qm register can't be identical |
| 133 | +vqrdmlsdh.s32 q0, q6, q0 |
| 134 | + |
| 135 | +# CHECK: vcmul.f16 q0, q1, q2, #90 @ encoding: [0x32,0xee,0x05,0x0e] |
| 136 | +# CHECK-NOFP-NOT: vcmul.f16 q0, q1, q2, #90 @ encoding: [0x32,0xee,0x05,0x0e] |
| 137 | +vcmul.f16 q0, q1, q2, #90 |
| 138 | + |
| 139 | +# CHECK: vcmul.f16 q6, q2, q5, #0 @ encoding: [0x34,0xee,0x0a,0xce] |
| 140 | +# CHECK-NOFP-NOT: vcmul.f16 q6, q2, q5, #0 @ encoding: [0x34,0xee,0x0a,0xce] |
| 141 | +vcmul.f16 q6, q2, q5, #0 |
| 142 | + |
| 143 | +# CHECK: vcmul.f16 q1, q0, q5, #90 @ encoding: [0x30,0xee,0x0b,0x2e] |
| 144 | +# CHECK-NOFP-NOT: vcmul.f16 q1, q0, q5, #90 @ encoding: [0x30,0xee,0x0b,0x2e] |
| 145 | +vcmul.f16 q1, q0, q5, #90 |
| 146 | + |
| 147 | +# CHECK: vcmul.f16 q1, q0, q5, #180 @ encoding: [0x30,0xee,0x0a,0x3e] |
| 148 | +# CHECK-NOFP-NOT: vcmul.f16 q1, q0, q5, #180 @ encoding: [0x30,0xee,0x0a,0x3e] |
| 149 | +vcmul.f16 q1, q0, q5, #180 |
| 150 | + |
| 151 | +# CHECK: vcmul.f16 q1, q0, q5, #270 @ encoding: [0x30,0xee,0x0b,0x3e] |
| 152 | +# CHECK-NOFP-NOT: vcmul.f16 q1, q0, q5, #270 @ encoding: [0x30,0xee,0x0b,0x3e] |
| 153 | +vcmul.f16 q1, q0, q5, #270 |
| 154 | + |
| 155 | +# CHECK: vcmul.f16 q1, q0, q1, #270 @ encoding: [0x30,0xee,0x03,0x3e] |
| 156 | +# CHECK-NOFP-NOT: vcmul.f16 q1, q0, q1, #270 @ encoding: [0x30,0xee,0x03,0x3e] |
| 157 | +vcmul.f16 q1, q0, q1, #270 |
| 158 | + |
| 159 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 0, 90, 180 or 270 |
| 160 | +vcmul.f16 q1, q0, q5, #300 |
| 161 | + |
| 162 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qn register can't be identical |
| 163 | +vcmul.f32 q1, q1, q5, #0 |
| 164 | + |
| 165 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qm register can't be identical |
| 166 | +vcmul.f32 q1, q5, q1, #0 |
| 167 | + |
| 168 | +# CHECK: vcmul.f32 q1, q7, q5, #0 @ encoding: [0x3e,0xfe,0x0a,0x2e] |
| 169 | +# CHECK-NOFP-NOT: vcmul.f32 q1, q7, q5, #0 @ encoding: [0x3e,0xfe,0x0a,0x2e] |
| 170 | +vcmul.f32 q1, q7, q5, #0 |
| 171 | + |
| 172 | +# CHECK: vcmul.f32 q3, q4, q2, #90 @ encoding: [0x38,0xfe,0x05,0x6e] |
| 173 | +# CHECK-NOFP-NOT: vcmul.f32 q3, q4, q2, #90 @ encoding: [0x38,0xfe,0x05,0x6e] |
| 174 | +vcmul.f32 q3, q4, q2, #90 |
| 175 | + |
| 176 | +# CHECK: vcmul.f32 q5, q1, q3, #180 @ encoding: [0x32,0xfe,0x06,0xbe] |
| 177 | +# CHECK-NOFP-NOT: vcmul.f32 q5, q1, q3, #180 @ encoding: [0x32,0xfe,0x06,0xbe] |
| 178 | +vcmul.f32 q5, q1, q3, #180 |
| 179 | + |
| 180 | +# CHECK: vcmul.f32 q0, q7, q4, #270 @ encoding: [0x3e,0xfe,0x09,0x1e] |
| 181 | +# CHECK-NOFP-NOT: vcmul.f32 q0, q7, q4, #270 @ encoding: [0x3e,0xfe,0x09,0x1e] |
| 182 | +vcmul.f32 q0, q7, q4, #270 |
| 183 | + |
| 184 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 0, 90, 180 or 270 |
| 185 | +vcmul.f32 q1, q0, q5, #300 |
| 186 | + |
| 187 | +# CHECK: vmullb.s8 q2, q6, q0 @ encoding: [0x0d,0xee,0x00,0x4e] |
| 188 | +# CHECK-NOFP: vmullb.s8 q2, q6, q0 @ encoding: [0x0d,0xee,0x00,0x4e] |
| 189 | +vmullb.s8 q2, q6, q0 |
| 190 | + |
| 191 | +# CHECK: vmullb.s16 q3, q4, q3 @ encoding: [0x19,0xee,0x06,0x6e] |
| 192 | +# CHECK-NOFP: vmullb.s16 q3, q4, q3 @ encoding: [0x19,0xee,0x06,0x6e] |
| 193 | +vmullb.s16 q3, q4, q3 |
| 194 | + |
| 195 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qm register can't be identical |
| 196 | +vmullb.s32 q3, q4, q3 |
| 197 | + |
| 198 | +# CHECK: vmullb.s32 q3, q5, q6 @ encoding: [0x2b,0xee,0x0c,0x6e] |
| 199 | +# CHECK-NOFP: vmullb.s32 q3, q5, q6 @ encoding: [0x2b,0xee,0x0c,0x6e] |
| 200 | +vmullb.s32 q3, q5, q6 |
| 201 | + |
| 202 | +# CHECK: vmullt.s8 q0, q6, q2 @ encoding: [0x0d,0xee,0x04,0x1e] |
| 203 | +# CHECK-NOFP: vmullt.s8 q0, q6, q2 @ encoding: [0x0d,0xee,0x04,0x1e] |
| 204 | +vmullt.s8 q0, q6, q2 |
| 205 | + |
| 206 | +# CHECK: vmullt.s16 q0, q0, q2 @ encoding: [0x11,0xee,0x04,0x1e] |
| 207 | +# CHECK-NOFP: vmullt.s16 q0, q0, q2 @ encoding: [0x11,0xee,0x04,0x1e] |
| 208 | +vmullt.s16 q0, q0, q2 |
| 209 | + |
| 210 | +# CHECK: vmullt.s32 q2, q4, q4 @ encoding: [0x29,0xee,0x08,0x5e] |
| 211 | +# CHECK-NOFP: vmullt.s32 q2, q4, q4 @ encoding: [0x29,0xee,0x08,0x5e] |
| 212 | +vmullt.s32 q2, q4, q4 |
| 213 | + |
| 214 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qn register can't be identical |
| 215 | +vmullt.s32 q4, q4, q2 |
| 216 | + |
| 217 | +# CHECK: vmullb.p8 q2, q3, q7 @ encoding: [0x37,0xee,0x0e,0x4e] |
| 218 | +# CHECK-NOFP: vmullb.p8 q2, q3, q7 @ encoding: [0x37,0xee,0x0e,0x4e] |
| 219 | +vmullb.p8 q2, q3, q7 |
| 220 | + |
| 221 | +# CHECK: vmullb.p16 q0, q1, q3 @ encoding: [0x33,0xfe,0x06,0x0e] |
| 222 | +# CHECK-NOFP: vmullb.p16 q0, q1, q3 @ encoding: [0x33,0xfe,0x06,0x0e] |
| 223 | +vmullb.p16 q0, q1, q3 |
| 224 | + |
| 225 | +# CHECK: vmullt.p8 q1, q1, q7 @ encoding: [0x33,0xee,0x0e,0x3e] |
| 226 | +# CHECK-NOFP: vmullt.p8 q1, q1, q7 @ encoding: [0x33,0xee,0x0e,0x3e] |
| 227 | +vmullt.p8 q1, q1, q7 |
| 228 | + |
| 229 | +# CHECK: vmullt.p16 q0, q7, q7 @ encoding: [0x3f,0xfe,0x0e,0x1e] |
| 230 | +# CHECK-NOFP: vmullt.p16 q0, q7, q7 @ encoding: [0x3f,0xfe,0x0e,0x1e] |
| 231 | +vmullt.p16 q0, q7, q7 |
| 232 | + |
| 233 | +# CHECK: vmulh.s8 q0, q4, q5 @ encoding: [0x09,0xee,0x0b,0x0e] |
| 234 | +# CHECK-NOFP: vmulh.s8 q0, q4, q5 @ encoding: [0x09,0xee,0x0b,0x0e] |
| 235 | +vmulh.s8 q0, q4, q5 |
| 236 | + |
| 237 | +# CHECK: vmulh.s16 q0, q7, q4 @ encoding: [0x1f,0xee,0x09,0x0e] |
| 238 | +# CHECK-NOFP: vmulh.s16 q0, q7, q4 @ encoding: [0x1f,0xee,0x09,0x0e] |
| 239 | +vmulh.s16 q0, q7, q4 |
| 240 | + |
| 241 | +# CHECK: vmulh.s32 q0, q7, q4 @ encoding: [0x2f,0xee,0x09,0x0e] |
| 242 | +# CHECK-NOFP: vmulh.s32 q0, q7, q4 @ encoding: [0x2f,0xee,0x09,0x0e] |
| 243 | +vmulh.s32 q0, q7, q4 |
| 244 | + |
| 245 | +# CHECK: vmulh.u8 q3, q5, q2 @ encoding: [0x0b,0xfe,0x05,0x6e] |
| 246 | +# CHECK-NOFP: vmulh.u8 q3, q5, q2 @ encoding: [0x0b,0xfe,0x05,0x6e] |
| 247 | +vmulh.u8 q3, q5, q2 |
| 248 | + |
| 249 | +# CHECK: vmulh.u16 q2, q7, q4 @ encoding: [0x1f,0xfe,0x09,0x4e] |
| 250 | +# CHECK-NOFP: vmulh.u16 q2, q7, q4 @ encoding: [0x1f,0xfe,0x09,0x4e] |
| 251 | +vmulh.u16 q2, q7, q4 |
| 252 | + |
| 253 | +# CHECK: vmulh.u32 q1, q3, q2 @ encoding: [0x27,0xfe,0x05,0x2e] |
| 254 | +# CHECK-NOFP: vmulh.u32 q1, q3, q2 @ encoding: [0x27,0xfe,0x05,0x2e] |
| 255 | +vmulh.u32 q1, q3, q2 |
| 256 | + |
| 257 | +# CHECK: vrmulh.s8 q1, q1, q2 @ encoding: [0x03,0xee,0x05,0x3e] |
| 258 | +# CHECK-NOFP: vrmulh.s8 q1, q1, q2 @ encoding: [0x03,0xee,0x05,0x3e] |
| 259 | +vrmulh.s8 q1, q1, q2 |
| 260 | + |
| 261 | +# CHECK: vrmulh.s16 q1, q1, q2 @ encoding: [0x13,0xee,0x05,0x3e] |
| 262 | +# CHECK-NOFP: vrmulh.s16 q1, q1, q2 @ encoding: [0x13,0xee,0x05,0x3e] |
| 263 | +vrmulh.s16 q1, q1, q2 |
| 264 | + |
| 265 | +# CHECK: vrmulh.s32 q3, q1, q0 @ encoding: [0x23,0xee,0x01,0x7e] |
| 266 | +# CHECK-NOFP: vrmulh.s32 q3, q1, q0 @ encoding: [0x23,0xee,0x01,0x7e] |
| 267 | +vrmulh.s32 q3, q1, q0 |
| 268 | + |
| 269 | +# CHECK: vrmulh.u8 q1, q6, q0 @ encoding: [0x0d,0xfe,0x01,0x3e] |
| 270 | +# CHECK-NOFP: vrmulh.u8 q1, q6, q0 @ encoding: [0x0d,0xfe,0x01,0x3e] |
| 271 | +vrmulh.u8 q1, q6, q0 |
| 272 | + |
| 273 | +# CHECK: vrmulh.u16 q4, q3, q6 @ encoding: [0x17,0xfe,0x0d,0x9e] |
| 274 | +# CHECK-NOFP: vrmulh.u16 q4, q3, q6 @ encoding: [0x17,0xfe,0x0d,0x9e] |
| 275 | +vrmulh.u16 q4, q3, q6 |
| 276 | + |
| 277 | +# CHECK: vrmulh.u32 q1, q2, q2 @ encoding: [0x25,0xfe,0x05,0x3e] |
| 278 | +# CHECK-NOFP: vrmulh.u32 q1, q2, q2 @ encoding: [0x25,0xfe,0x05,0x3e] |
| 279 | +vrmulh.u32 q1, q2, q2 |
| 280 | + |
| 281 | +# CHECK: vqmovnb.s16 q0, q1 @ encoding: [0x33,0xee,0x03,0x0e] |
| 282 | +# CHECK-NOFP: vqmovnb.s16 q0, q1 @ encoding: [0x33,0xee,0x03,0x0e] |
| 283 | +vqmovnb.s16 q0, q1 |
| 284 | + |
| 285 | +# CHECK: vqmovnt.s16 q2, q0 @ encoding: [0x33,0xee,0x01,0x5e] |
| 286 | +# CHECK-NOFP: vqmovnt.s16 q2, q0 @ encoding: [0x33,0xee,0x01,0x5e] |
| 287 | +vqmovnt.s16 q2, q0 |
| 288 | + |
| 289 | +# CHECK: vqmovnb.s32 q0, q5 @ encoding: [0x37,0xee,0x0b,0x0e] |
| 290 | +# CHECK-NOFP: vqmovnb.s32 q0, q5 @ encoding: [0x37,0xee,0x0b,0x0e] |
| 291 | +vqmovnb.s32 q0, q5 |
| 292 | + |
| 293 | +# CHECK: vqmovnt.s32 q0, q1 @ encoding: [0x37,0xee,0x03,0x1e] |
| 294 | +# CHECK-NOFP: vqmovnt.s32 q0, q1 @ encoding: [0x37,0xee,0x03,0x1e] |
| 295 | +vqmovnt.s32 q0, q1 |
| 296 | + |
| 297 | +# CHECK: vqmovnb.u16 q0, q4 @ encoding: [0x33,0xfe,0x09,0x0e] |
| 298 | +# CHECK-NOFP: vqmovnb.u16 q0, q4 @ encoding: [0x33,0xfe,0x09,0x0e] |
| 299 | +vqmovnb.u16 q0, q4 |
| 300 | + |
| 301 | +# CHECK: vqmovnt.u16 q0, q7 @ encoding: [0x33,0xfe,0x0f,0x1e] |
| 302 | +# CHECK-NOFP: vqmovnt.u16 q0, q7 @ encoding: [0x33,0xfe,0x0f,0x1e] |
| 303 | +vqmovnt.u16 q0, q7 |
| 304 | + |
| 305 | +# CHECK: vqmovnb.u32 q0, q4 @ encoding: [0x37,0xfe,0x09,0x0e] |
| 306 | +# CHECK-NOFP: vqmovnb.u32 q0, q4 @ encoding: [0x37,0xfe,0x09,0x0e] |
| 307 | +vqmovnb.u32 q0, q4 |
| 308 | + |
| 309 | +# CHECK: vqmovnt.u32 q0, q2 @ encoding: [0x37,0xfe,0x05,0x1e] |
| 310 | +# CHECK-NOFP: vqmovnt.u32 q0, q2 @ encoding: [0x37,0xfe,0x05,0x1e] |
| 311 | +vqmovnt.u32 q0, q2 |
| 312 | + |
| 313 | +# CHECK: vcvtb.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x2e] |
| 314 | +# CHECK-NOFP-NOT: vcvtb.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x2e] |
| 315 | +vcvtb.f16.f32 q1, q4 |
| 316 | + |
| 317 | +# CHECK: vcvtt.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x3e] |
| 318 | +# CHECK-NOFP-NOT: vcvtt.f16.f32 q1, q4 @ encoding: [0x3f,0xee,0x09,0x3e] |
| 319 | +vcvtt.f16.f32 q1, q4 |
| 320 | + |
| 321 | +# CHECK: vcvtb.f32.f16 q0, q3 @ encoding: [0x3f,0xfe,0x07,0x0e] |
| 322 | +# CHECK-NOFP-NOT: vcvtb.f32.f16 q0, q3 @ encoding: [0x3f,0xfe,0x07,0x0e] |
| 323 | +vcvtb.f32.f16 q0, q3 |
| 324 | + |
| 325 | +# CHECK: vcvtt.f32.f16 q0, q1 @ encoding: [0x3f,0xfe,0x03,0x1e] |
| 326 | +# CHECK-NOFP-NOT: vcvtt.f32.f16 q0, q1 @ encoding: [0x3f,0xfe,0x03,0x1e] |
| 327 | +vcvtt.f32.f16 q0, q1 |
| 328 | + |
| 329 | +# CHECK: vqmovunb.s16 q0, q3 @ encoding: [0x31,0xee,0x87,0x0e] |
| 330 | +# CHECK-NOFP: vqmovunb.s16 q0, q3 @ encoding: [0x31,0xee,0x87,0x0e] |
| 331 | +vqmovunb.s16 q0, q3 |
| 332 | + |
| 333 | +# CHECK: vqmovunt.s16 q4, q1 @ encoding: [0x31,0xee,0x83,0x9e] |
| 334 | +# CHECK-NOFP: vqmovunt.s16 q4, q1 @ encoding: [0x31,0xee,0x83,0x9e] |
| 335 | +vqmovunt.s16 q4, q1 |
| 336 | + |
| 337 | +# CHECK: vqmovunb.s32 q1, q7 @ encoding: [0x35,0xee,0x8f,0x2e] |
| 338 | +# CHECK-NOFP: vqmovunb.s32 q1, q7 @ encoding: [0x35,0xee,0x8f,0x2e] |
| 339 | +vqmovunb.s32 q1, q7 |
| 340 | + |
| 341 | +# CHECK: vqmovunt.s32 q0, q2 @ encoding: [0x35,0xee,0x85,0x1e] |
| 342 | +# CHECK-NOFP: vqmovunt.s32 q0, q2 @ encoding: [0x35,0xee,0x85,0x1e] |
| 343 | +vqmovunt.s32 q0, q2 |
| 344 | + |
| 345 | +# CHECK: vmovnb.i16 q1, q5 @ encoding: [0x31,0xfe,0x8b,0x2e] |
| 346 | +# CHECK-NOFP: vmovnb.i16 q1, q5 @ encoding: [0x31,0xfe,0x8b,0x2e] |
| 347 | +vmovnb.i16 q1, q5 |
| 348 | + |
| 349 | +# CHECK: vmovnt.i16 q0, q0 @ encoding: [0x31,0xfe,0x81,0x1e] |
| 350 | +# CHECK-NOFP: vmovnt.i16 q0, q0 @ encoding: [0x31,0xfe,0x81,0x1e] |
| 351 | +vmovnt.i16 q0, q0 |
| 352 | + |
| 353 | +# CHECK: vmovnb.i32 q1, q0 @ encoding: [0x35,0xfe,0x81,0x2e] |
| 354 | +# CHECK-NOFP: vmovnb.i32 q1, q0 @ encoding: [0x35,0xfe,0x81,0x2e] |
| 355 | +vmovnb.i32 q1, q0 |
| 356 | + |
| 357 | +# CHECK: vmovnt.i32 q3, q3 @ encoding: [0x35,0xfe,0x87,0x7e] |
| 358 | +# CHECK-NOFP: vmovnt.i32 q3, q3 @ encoding: [0x35,0xfe,0x87,0x7e] |
| 359 | +vmovnt.i32 q3, q3 |
| 360 | + |
| 361 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270 |
| 362 | +vhcadd.s8 q3, q7, q5, #0 |
| 363 | + |
| 364 | +# CHECK: vhcadd.s8 q3, q7, q5, #90 @ encoding: [0x0e,0xee,0x0a,0x6f] |
| 365 | +# CHECK-NOFP: vhcadd.s8 q3, q7, q5, #90 @ encoding: [0x0e,0xee,0x0a,0x6f] |
| 366 | +vhcadd.s8 q3, q7, q5, #90 |
| 367 | + |
| 368 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270 |
| 369 | +vhcadd.s8 q3, q7, q5, #0 |
| 370 | + |
| 371 | +# CHECK: vhcadd.s16 q0, q0, q6, #90 @ encoding: [0x10,0xee,0x0c,0x0f] |
| 372 | +# CHECK-NOFP: vhcadd.s16 q0, q0, q6, #90 @ encoding: [0x10,0xee,0x0c,0x0f] |
| 373 | +vhcadd.s16 q0, q0, q6, #90 |
| 374 | + |
| 375 | +# CHECK: vhcadd.s16 q0, q0, q6, #90 @ encoding: [0x10,0xee,0x0c,0x0f] |
| 376 | +# CHECK-NOFP: vhcadd.s16 q0, q0, q6, #90 @ encoding: [0x10,0xee,0x0c,0x0f] |
| 377 | +vhcadd.s16 q0, q0, q6, #90 |
| 378 | + |
| 379 | +# CHECK: vhcadd.s16 q3, q1, q0, #270 @ encoding: [0x12,0xee,0x00,0x7f] |
| 380 | +# CHECK-NOFP: vhcadd.s16 q3, q1, q0, #270 @ encoding: [0x12,0xee,0x00,0x7f] |
| 381 | +vhcadd.s16 q3, q1, q0, #270 |
| 382 | + |
| 383 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270 |
| 384 | +vhcadd.s32 q3, q4, q5, #0 |
| 385 | + |
| 386 | +# CHECK: vhcadd.s32 q3, q4, q5, #90 @ encoding: [0x28,0xee,0x0a,0x6f] |
| 387 | +# CHECK-NOFP: vhcadd.s32 q3, q4, q5, #90 @ encoding: [0x28,0xee,0x0a,0x6f] |
| 388 | +vhcadd.s32 q3, q4, q5, #90 |
| 389 | + |
| 390 | +# CHECK: vhcadd.s32 q6, q7, q2, #270 @ encoding: [0x2e,0xee,0x04,0xdf] |
| 391 | +# CHECK-NOFP: vhcadd.s32 q6, q7, q2, #270 @ encoding: [0x2e,0xee,0x04,0xdf] |
| 392 | +vhcadd.s32 q6, q7, q2, #270 |
| 393 | + |
| 394 | +# CHECK: vadc.i32 q1, q0, q2 @ encoding: [0x30,0xee,0x04,0x2f] |
| 395 | +# CHECK-NOFP: vadc.i32 q1, q0, q2 @ encoding: [0x30,0xee,0x04,0x2f] |
| 396 | +vadc.i32 q1, q0, q2 |
| 397 | + |
| 398 | +# CHECK: vadci.i32 q0, q1, q1 @ encoding: [0x32,0xee,0x02,0x1f] |
| 399 | +# CHECK-NOFP: vadci.i32 q0, q1, q1 @ encoding: [0x32,0xee,0x02,0x1f] |
| 400 | +vadci.i32 q0, q1, q1 |
| 401 | + |
| 402 | +# CHECK: vcadd.i8 q1, q0, q2, #90 @ encoding: [0x00,0xfe,0x04,0x2f] |
| 403 | +# CHECK-NOFP: vcadd.i8 q1, q0, q2, #90 @ encoding: [0x00,0xfe,0x04,0x2f] |
| 404 | +vcadd.i8 q1, q0, q2, #90 |
| 405 | + |
| 406 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270 |
| 407 | +vcadd.i8 q1, q0, q2, #0 |
| 408 | + |
| 409 | +# CHECK: vcadd.i16 q0, q2, q3, #90 @ encoding: [0x14,0xfe,0x06,0x0f] |
| 410 | +# CHECK-NOFP: vcadd.i16 q0, q2, q3, #90 @ encoding: [0x14,0xfe,0x06,0x0f] |
| 411 | +vcadd.i16 q0, q2, q3, #90 |
| 412 | + |
| 413 | +# CHECK: vcadd.i16 q0, q5, q5, #270 @ encoding: [0x1a,0xfe,0x0a,0x1f] |
| 414 | +# CHECK-NOFP: vcadd.i16 q0, q5, q5, #270 @ encoding: [0x1a,0xfe,0x0a,0x1f] |
| 415 | +vcadd.i16 q0, q5, q5, #270 |
| 416 | + |
| 417 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270 |
| 418 | +vcadd.i16 q1, q0, q2, #0 |
| 419 | + |
| 420 | +# CHECK: vcadd.i32 q4, q2, q5, #90 @ encoding: [0x24,0xfe,0x0a,0x8f] |
| 421 | +# CHECK-NOFP: vcadd.i32 q4, q2, q5, #90 @ encoding: [0x24,0xfe,0x0a,0x8f] |
| 422 | +vcadd.i32 q4, q2, q5, #90 |
| 423 | + |
| 424 | +# CHECK: vcadd.i32 q5, q5, q0, #270 @ encoding: [0x2a,0xfe,0x00,0xbf] |
| 425 | +# CHECK-NOFP: vcadd.i32 q5, q5, q0, #270 @ encoding: [0x2a,0xfe,0x00,0xbf] |
| 426 | +vcadd.i32 q5, q5, q0, #270 |
| 427 | + |
| 428 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270 |
| 429 | +vcadd.i32 q4, q2, q5, #0 |
| 430 | + |
| 431 | +# CHECK: vsbc.i32 q3, q1, q1 @ encoding: [0x32,0xfe,0x02,0x6f] |
| 432 | +# CHECK-NOFP: vsbc.i32 q3, q1, q1 @ encoding: [0x32,0xfe,0x02,0x6f] |
| 433 | +vsbc.i32 q3, q1, q1 |
| 434 | + |
| 435 | +# CHECK: vsbci.i32 q2, q6, q2 @ encoding: [0x3c,0xfe,0x04,0x5f] |
| 436 | +# CHECK-NOFP: vsbci.i32 q2, q6, q2 @ encoding: [0x3c,0xfe,0x04,0x5f] |
| 437 | +vsbci.i32 q2, q6, q2 |
| 438 | + |
| 439 | +# CHECK: vqdmullb.s16 q0, q4, q5 @ encoding: [0x38,0xee,0x0b,0x0f] |
| 440 | +# CHECK-NOFP: vqdmullb.s16 q0, q4, q5 @ encoding: [0x38,0xee,0x0b,0x0f] |
| 441 | +vqdmullb.s16 q0, q4, q5 |
| 442 | + |
| 443 | +# CHECK: vqdmullt.s16 q0, q6, q5 @ encoding: [0x3c,0xee,0x0b,0x1f] |
| 444 | +# CHECK-NOFP: vqdmullt.s16 q0, q6, q5 @ encoding: [0x3c,0xee,0x0b,0x1f] |
| 445 | +vqdmullt.s16 q0, q6, q5 |
| 446 | + |
| 447 | +# CHECK: vqdmullb.s32 q0, q3, q7 @ encoding: [0x36,0xfe,0x0f,0x0f] |
| 448 | +# CHECK-NOFP: vqdmullb.s32 q0, q3, q7 @ encoding: [0x36,0xfe,0x0f,0x0f] |
| 449 | +vqdmullb.s32 q0, q3, q7 |
| 450 | + |
| 451 | +# CHECK: vqdmullt.s32 q0, q7, q5 @ encoding: [0x3e,0xfe,0x0b,0x1f] |
| 452 | +# CHECK-NOFP: vqdmullt.s32 q0, q7, q5 @ encoding: [0x3e,0xfe,0x0b,0x1f] |
| 453 | +vqdmullt.s32 q0, q7, q5 |
| 454 | + |
| 455 | +# CHECK: vqdmullb.s16 q0, q1, q0 @ encoding: [0x32,0xee,0x01,0x0f] |
| 456 | +# CHECK-NOFP: vqdmullb.s16 q0, q1, q0 @ encoding: [0x32,0xee,0x01,0x0f] |
| 457 | +vqdmullb.s16 q0, q1, q0 |
| 458 | + |
| 459 | +# CHECK: vqdmullt.s16 q0, q0, q5 @ encoding: [0x30,0xee,0x0b,0x1f] |
| 460 | +# CHECK-NOFP: vqdmullt.s16 q0, q0, q5 @ encoding: [0x30,0xee,0x0b,0x1f] |
| 461 | +vqdmullt.s16 q0, q0, q5 |
| 462 | + |
| 463 | +# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: Qd register and Qm register can't be identical |
| 464 | +vqdmullb.s32 q0, q1, q0 |
| 465 | + |
| 466 | +vqdmullt.s16 q0, q1, q2 |
| 467 | +# CHECK: vqdmullt.s16 q0, q1, q2 @ encoding: [0x32,0xee,0x05,0x1f] |
| 468 | +# CHECK-NOFP: vqdmullt.s16 q0, q1, q2 @ encoding: [0x32,0xee,0x05,0x1f] |
| 469 | + |
| 470 | +vpste |
| 471 | +vqdmulltt.s32 q0, q1, q2 |
| 472 | +vqdmullbe.s16 q0, q1, q2 |
| 473 | +# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f] |
| 474 | +# CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f] |
| 475 | +# CHECK: vqdmulltt.s32 q0, q1, q2 @ encoding: [0x32,0xfe,0x05,0x1f] |
| 476 | +# CHECK-NOFP: vqdmulltt.s32 q0, q1, q2 @ encoding: [0x32,0xfe,0x05,0x1f] |
| 477 | +# CHECK: vqdmullbe.s16 q0, q1, q2 @ encoding: [0x32,0xee,0x05,0x0f] |
| 478 | +# CHECK-NOFP: vqdmullbe.s16 q0, q1, q2 @ encoding: [0x32,0xee,0x05,0x0f] |
| 479 | + |
| 480 | +vpste |
| 481 | +vmulltt.p8 q0, q1, q2 |
| 482 | +vmullbe.p16 q0, q1, q2 |
| 483 | +# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f] |
| 484 | +# CHECK-NOFP: vpste @ encoding: [0x71,0xfe,0x4d,0x8f] |
| 485 | +# CHECK: vmulltt.p8 q0, q1, q2 @ encoding: [0x33,0xee,0x04,0x1e] |
| 486 | +# CHECK-NOFP: vmulltt.p8 q0, q1, q2 @ encoding: [0x33,0xee,0x04,0x1e] |
| 487 | +# CHECK: vmullbe.p16 q0, q1, q2 @ encoding: [0x33,0xfe,0x04,0x0e] |
| 488 | +# CHECK-NOFP: vmullbe.p16 q0, q1, q2 @ encoding: [0x33,0xfe,0x04,0x0e] |
| 489 | + |
| 490 | +# ---------------------------------------------------------------------- |
| 491 | +# The following tests have to go last because of the NOFP-NOT checks inside the |
| 492 | +# VPT block. |
| 493 | + |
| 494 | +vpste |
| 495 | +vcmult.f16 q0, q1, q2, #180 |
| 496 | +vcmule.f16 q0, q1, q2, #180 |
| 497 | +# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f] |
| 498 | +# CHECK: vcmult.f16 q0, q1, q2, #180 @ encoding: [0x32,0xee,0x04,0x1e] |
| 499 | +# CHECK-NOFP-NOT: vcmult.f16 q0, q1, q2, #180 @ encoding: [0x32,0xee,0x04,0x1e] |
| 500 | +# CHECK: vcmule.f16 q0, q1, q2, #180 @ encoding: [0x32,0xee,0x04,0x1e] |
| 501 | +# CHECK-NOFP-NOT: vcmule.f16 q0, q1, q2, #180 @ encoding: [0x32,0xee,0x04,0x1e] |
| 502 | + |
| 503 | +vpstet |
| 504 | +vcvtbt.f16.f32 q0, q1 |
| 505 | +vcvtne.s16.f16 q0, q1 |
| 506 | +vcvtmt.s16.f16 q0, q1 |
| 507 | +# CHECK: vpstet @ encoding: [0x71,0xfe,0x4d,0xcf] |
| 508 | +# CHECK: vcvtbt.f16.f32 q0, q1 @ encoding: [0x3f,0xee,0x03,0x0e] |
| 509 | +# CHECK-NOFP-NOT: vcvtbt.f16.f32 q0, q1 @ encoding: [0x3f,0xee,0x03,0x0e] |
| 510 | +# CHECK: vcvtne.s16.f16 q0, q1 @ encoding: [0xb7,0xff,0x42,0x01] |
| 511 | +# CHECK-NOFP-NOT: vcvtne.s16.f16 q0, q1 @ encoding: [0xb7,0xff,0x42,0x01] |
| 512 | +# CHECK: vcvtmt.s16.f16 q0, q1 @ encoding: [0xb7,0xff,0x42,0x03 |
| 513 | +# CHECK-NOFP-NOT: vcvtmt.s16.f16 q0, q1 @ encoding: [0xb7,0xff,0x42,0x03 |
| 514 | + |
| 515 | +vpte.f32 lt, q3, r1 |
| 516 | +vcvttt.f16.f32 q2, q0 |
| 517 | +vcvtte.f32.f16 q1, q0 |
| 518 | +# CHECK: vpte.f32 lt, q3, r1 @ encoding: [0x77,0xee,0xc1,0x9f] |
| 519 | +# CHECK-NOFP-NOT: vpte.f32 lt, q3, r1 @ encoding: [0x77,0xee,0xe1,0x8f] |
| 520 | +# CHECK: vcvttt.f16.f32 q2, q0 @ encoding: [0x3f,0xee,0x01,0x5e] |
| 521 | +# CHECK-NOFP-NOT: vcvttt.f16.f32 q2, q0 @ encoding: [0x3f,0xee,0x01,0x5e] |
| 522 | +# CHECK: vcvtte.f32.f16 q1, q0 @ encoding: [0x3f,0xfe,0x01,0x3e] |
| 523 | + |
| 524 | +vpte.f32 lt, q3, r1 |
| 525 | +vcvtbt.f16.f32 q2, q0 |
| 526 | +vcvtbe.f32.f16 q1, q0 |
| 527 | +# CHECK: vpte.f32 lt, q3, r1 @ encoding: [0x77,0xee,0xc1,0x9f] |
| 528 | +# CHECK-NOFP-NOT: vpte.f32 lt, q3, r1 @ encoding: [0x77,0xee,0xe1,0x8f] |
| 529 | +# CHECK: vcvtbt.f16.f32 q2, q0 @ encoding: [0x3f,0xee,0x01,0x4e] |
| 530 | +# CHECK-NOFP-NOT: vcvtbt.f16.f32 q2, q0 @ encoding: [0x3f,0xee,0x01,0x4e] |
| 531 | +# CHECK: vcvtbe.f32.f16 q1, q0 @ encoding: [0x3f,0xfe,0x01,0x2e] |
| 532 | +# CHECK-NOFP-NOT: vcvtbe.f32.f16 q1, q0 @ encoding: [0x3f,0xfe,0x01,0x2e] |
| 533 | + |
| 534 | +ite eq |
| 535 | +vcvtteq.f16.f32 s0, s1 |
| 536 | +vcvttne.f16.f32 s0, s1 |
| 537 | +# CHECK: ite eq @ encoding: [0x0c,0xbf] |
| 538 | +# CHECK: vcvtteq.f16.f32 s0, s1 @ encoding: [0xb3,0xee,0xe0,0x0a] |
| 539 | +# CHECK-NOFP-NOT: vcvtteq.f16.f32 s0, s1 @ encoding: [0xb3,0xee,0xe0,0x0a] |
| 540 | +# CHECK: vcvttne.f16.f32 s0, s1 @ encoding: [0xb3,0xee,0xe0,0x0a] |
| 541 | +# CHECK-NOFP-NOT: vcvttne.f16.f32 s0, s1 @ encoding: [0xb3,0xee,0xe0,0x0a] |
0 commit comments