1# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+experimental-v %s \ 2# RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 3# RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \ 4# RUN: | FileCheck %s --check-prefix=CHECK-ERROR 5# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \ 6# RUN: | llvm-objdump -d --mattr=+experimental-v - \ 7# RUN: | FileCheck %s --check-prefix=CHECK-INST 8# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \ 9# RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN 10 11vfcvt.xu.f.v v8, v4, v0.t 12# CHECK-INST: vfcvt.xu.f.v v8, v4, v0.t 13# CHECK-ENCODING: [0x57,0x14,0x40,0x48] 14# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 15# CHECK-UNKNOWN: 57 14 40 48 <unknown> 16 17vfcvt.xu.f.v v8, v4 18# CHECK-INST: vfcvt.xu.f.v v8, v4 19# CHECK-ENCODING: [0x57,0x14,0x40,0x4a] 20# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 21# CHECK-UNKNOWN: 57 14 40 4a <unknown> 22 23vfcvt.x.f.v v8, v4, v0.t 24# CHECK-INST: vfcvt.x.f.v v8, v4, v0.t 25# CHECK-ENCODING: [0x57,0x94,0x40,0x48] 26# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 27# CHECK-UNKNOWN: 57 94 40 48 <unknown> 28 29vfcvt.x.f.v v8, v4 30# CHECK-INST: vfcvt.x.f.v v8, v4 31# CHECK-ENCODING: [0x57,0x94,0x40,0x4a] 32# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 33# CHECK-UNKNOWN: 57 94 40 4a <unknown> 34 35vfcvt.f.xu.v v8, v4, v0.t 36# CHECK-INST: vfcvt.f.xu.v v8, v4, v0.t 37# CHECK-ENCODING: [0x57,0x14,0x41,0x48] 38# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 39# CHECK-UNKNOWN: 57 14 41 48 <unknown> 40 41vfcvt.f.xu.v v8, v4 42# CHECK-INST: vfcvt.f.xu.v v8, v4 43# CHECK-ENCODING: [0x57,0x14,0x41,0x4a] 44# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 45# CHECK-UNKNOWN: 57 14 41 4a <unknown> 46 47vfcvt.f.x.v v8, v4, v0.t 48# CHECK-INST: vfcvt.f.x.v v8, v4, v0.t 49# CHECK-ENCODING: [0x57,0x94,0x41,0x48] 50# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 51# CHECK-UNKNOWN: 57 94 41 48 <unknown> 52 53vfcvt.f.x.v v8, v4 54# CHECK-INST: vfcvt.f.x.v v8, v4 55# CHECK-ENCODING: [0x57,0x94,0x41,0x4a] 56# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 57# CHECK-UNKNOWN: 57 94 41 4a <unknown> 58 59vfcvt.rtz.xu.f.v v8, v4, v0.t 60# CHECK-INST: vfcvt.rtz.xu.f.v v8, v4, v0.t 61# CHECK-ENCODING: [0x57,0x14,0x43,0x48] 62# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 63# CHECK-UNKNOWN: 57 14 43 48 <unknown> 64 65vfcvt.rtz.xu.f.v v8, v4 66# CHECK-INST: vfcvt.rtz.xu.f.v v8, v4 67# CHECK-ENCODING: [0x57,0x14,0x43,0x4a] 68# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 69# CHECK-UNKNOWN: 57 14 43 4a <unknown> 70 71vfcvt.rtz.x.f.v v8, v4, v0.t 72# CHECK-INST: vfcvt.rtz.x.f.v v8, v4, v0.t 73# CHECK-ENCODING: [0x57,0x94,0x43,0x48] 74# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 75# CHECK-UNKNOWN: 57 94 43 48 <unknown> 76 77vfcvt.rtz.x.f.v v8, v4 78# CHECK-INST: vfcvt.rtz.x.f.v v8, v4 79# CHECK-ENCODING: [0x57,0x94,0x43,0x4a] 80# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 81# CHECK-UNKNOWN: 57 94 43 4a <unknown> 82 83vfwcvt.xu.f.v v8, v4, v0.t 84# CHECK-INST: vfwcvt.xu.f.v v8, v4, v0.t 85# CHECK-ENCODING: [0x57,0x14,0x44,0x48] 86# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 87# CHECK-UNKNOWN: 57 14 44 48 <unknown> 88 89vfwcvt.xu.f.v v8, v4 90# CHECK-INST: vfwcvt.xu.f.v v8, v4 91# CHECK-ENCODING: [0x57,0x14,0x44,0x4a] 92# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 93# CHECK-UNKNOWN: 57 14 44 4a <unknown> 94 95vfwcvt.x.f.v v8, v4, v0.t 96# CHECK-INST: vfwcvt.x.f.v v8, v4, v0.t 97# CHECK-ENCODING: [0x57,0x94,0x44,0x48] 98# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 99# CHECK-UNKNOWN: 57 94 44 48 <unknown> 100 101vfwcvt.x.f.v v8, v4 102# CHECK-INST: vfwcvt.x.f.v v8, v4 103# CHECK-ENCODING: [0x57,0x94,0x44,0x4a] 104# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 105# CHECK-UNKNOWN: 57 94 44 4a <unknown> 106 107vfwcvt.f.xu.v v8, v4, v0.t 108# CHECK-INST: vfwcvt.f.xu.v v8, v4, v0.t 109# CHECK-ENCODING: [0x57,0x14,0x45,0x48] 110# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 111# CHECK-UNKNOWN: 57 14 45 48 <unknown> 112 113vfwcvt.f.xu.v v8, v4 114# CHECK-INST: vfwcvt.f.xu.v v8, v4 115# CHECK-ENCODING: [0x57,0x14,0x45,0x4a] 116# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 117# CHECK-UNKNOWN: 57 14 45 4a <unknown> 118 119vfwcvt.f.x.v v8, v4, v0.t 120# CHECK-INST: vfwcvt.f.x.v v8, v4, v0.t 121# CHECK-ENCODING: [0x57,0x94,0x45,0x48] 122# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 123# CHECK-UNKNOWN: 57 94 45 48 <unknown> 124 125vfwcvt.f.x.v v8, v4 126# CHECK-INST: vfwcvt.f.x.v v8, v4 127# CHECK-ENCODING: [0x57,0x94,0x45,0x4a] 128# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 129# CHECK-UNKNOWN: 57 94 45 4a <unknown> 130 131vfwcvt.f.f.v v8, v4, v0.t 132# CHECK-INST: vfwcvt.f.f.v v8, v4, v0.t 133# CHECK-ENCODING: [0x57,0x14,0x46,0x48] 134# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 135# CHECK-UNKNOWN: 57 14 46 48 <unknown> 136 137vfwcvt.f.f.v v8, v4 138# CHECK-INST: vfwcvt.f.f.v v8, v4 139# CHECK-ENCODING: [0x57,0x14,0x46,0x4a] 140# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 141# CHECK-UNKNOWN: 57 14 46 4a <unknown> 142 143vfwcvt.rtz.xu.f.v v8, v4, v0.t 144# CHECK-INST: vfwcvt.rtz.xu.f.v v8, v4, v0.t 145# CHECK-ENCODING: [0x57,0x14,0x47,0x48] 146# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 147# CHECK-UNKNOWN: 57 14 47 48 <unknown> 148 149vfwcvt.rtz.xu.f.v v8, v4 150# CHECK-INST: vfwcvt.rtz.xu.f.v v8, v4 151# CHECK-ENCODING: [0x57,0x14,0x47,0x4a] 152# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 153# CHECK-UNKNOWN: 57 14 47 4a <unknown> 154 155vfwcvt.rtz.x.f.v v8, v4, v0.t 156# CHECK-INST: vfwcvt.rtz.x.f.v v8, v4, v0.t 157# CHECK-ENCODING: [0x57,0x94,0x47,0x48] 158# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 159# CHECK-UNKNOWN: 57 94 47 48 <unknown> 160 161vfwcvt.rtz.x.f.v v8, v4 162# CHECK-INST: vfwcvt.rtz.x.f.v v8, v4 163# CHECK-ENCODING: [0x57,0x94,0x47,0x4a] 164# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 165# CHECK-UNKNOWN: 57 94 47 4a <unknown> 166 167vfncvt.xu.f.w v8, v4, v0.t 168# CHECK-INST: vfncvt.xu.f.w v8, v4, v0.t 169# CHECK-ENCODING: [0x57,0x14,0x48,0x48] 170# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 171# CHECK-UNKNOWN: 57 14 48 48 <unknown> 172 173vfncvt.xu.f.w v8, v4 174# CHECK-INST: vfncvt.xu.f.w v8, v4 175# CHECK-ENCODING: [0x57,0x14,0x48,0x4a] 176# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 177# CHECK-UNKNOWN: 57 14 48 4a <unknown> 178 179vfncvt.x.f.w v8, v4, v0.t 180# CHECK-INST: vfncvt.x.f.w v8, v4, v0.t 181# CHECK-ENCODING: [0x57,0x94,0x48,0x48] 182# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 183# CHECK-UNKNOWN: 57 94 48 48 <unknown> 184 185vfncvt.x.f.w v8, v4 186# CHECK-INST: vfncvt.x.f.w v8, v4 187# CHECK-ENCODING: [0x57,0x94,0x48,0x4a] 188# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 189# CHECK-UNKNOWN: 57 94 48 4a <unknown> 190 191vfncvt.f.xu.w v8, v4, v0.t 192# CHECK-INST: vfncvt.f.xu.w v8, v4, v0.t 193# CHECK-ENCODING: [0x57,0x14,0x49,0x48] 194# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 195# CHECK-UNKNOWN: 57 14 49 48 <unknown> 196 197vfncvt.f.xu.w v8, v4 198# CHECK-INST: vfncvt.f.xu.w v8, v4 199# CHECK-ENCODING: [0x57,0x14,0x49,0x4a] 200# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 201# CHECK-UNKNOWN: 57 14 49 4a <unknown> 202 203vfncvt.f.x.w v8, v4, v0.t 204# CHECK-INST: vfncvt.f.x.w v8, v4, v0.t 205# CHECK-ENCODING: [0x57,0x94,0x49,0x48] 206# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 207# CHECK-UNKNOWN: 57 94 49 48 <unknown> 208 209vfncvt.f.x.w v8, v4 210# CHECK-INST: vfncvt.f.x.w v8, v4 211# CHECK-ENCODING: [0x57,0x94,0x49,0x4a] 212# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 213# CHECK-UNKNOWN: 57 94 49 4a <unknown> 214 215vfncvt.f.f.w v8, v4, v0.t 216# CHECK-INST: vfncvt.f.f.w v8, v4, v0.t 217# CHECK-ENCODING: [0x57,0x14,0x4a,0x48] 218# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 219# CHECK-UNKNOWN: 57 14 4a 48 <unknown> 220 221vfncvt.f.f.w v8, v4 222# CHECK-INST: vfncvt.f.f.w v8, v4 223# CHECK-ENCODING: [0x57,0x14,0x4a,0x4a] 224# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 225# CHECK-UNKNOWN: 57 14 4a 4a <unknown> 226 227vfncvt.rod.f.f.w v8, v4, v0.t 228# CHECK-INST: vfncvt.rod.f.f.w v8, v4, v0.t 229# CHECK-ENCODING: [0x57,0x94,0x4a,0x48] 230# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 231# CHECK-UNKNOWN: 57 94 4a 48 <unknown> 232 233vfncvt.rod.f.f.w v8, v4 234# CHECK-INST: vfncvt.rod.f.f.w v8, v4 235# CHECK-ENCODING: [0x57,0x94,0x4a,0x4a] 236# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 237# CHECK-UNKNOWN: 57 94 4a 4a <unknown> 238 239vfncvt.rtz.xu.f.w v8, v4, v0.t 240# CHECK-INST: vfncvt.rtz.xu.f.w v8, v4, v0.t 241# CHECK-ENCODING: [0x57,0x14,0x4b,0x48] 242# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 243# CHECK-UNKNOWN: 57 14 4b 48 <unknown> 244 245vfncvt.rtz.xu.f.w v8, v4 246# CHECK-INST: vfncvt.rtz.xu.f.w v8, v4 247# CHECK-ENCODING: [0x57,0x14,0x4b,0x4a] 248# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 249# CHECK-UNKNOWN: 57 14 4b 4a <unknown> 250 251vfncvt.rtz.x.f.w v8, v4, v0.t 252# CHECK-INST: vfncvt.rtz.x.f.w v8, v4, v0.t 253# CHECK-ENCODING: [0x57,0x94,0x4b,0x48] 254# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 255# CHECK-UNKNOWN: 57 94 4b 48 <unknown> 256 257vfncvt.rtz.x.f.w v8, v4 258# CHECK-INST: vfncvt.rtz.x.f.w v8, v4 259# CHECK-ENCODING: [0x57,0x94,0x4b,0x4a] 260# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 261# CHECK-UNKNOWN: 57 94 4b 4a <unknown> 262