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 11vmacc.vv v8, v20, v4, v0.t 12# CHECK-INST: vmacc.vv v8, v20, v4, v0.t 13# CHECK-ENCODING: [0x57,0x24,0x4a,0xb4] 14# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 15# CHECK-UNKNOWN: 57 24 4a b4 <unknown> 16 17vmacc.vv v8, v20, v4 18# CHECK-INST: vmacc.vv v8, v20, v4 19# CHECK-ENCODING: [0x57,0x24,0x4a,0xb6] 20# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 21# CHECK-UNKNOWN: 57 24 4a b6 <unknown> 22 23vmacc.vx v8, a0, v4, v0.t 24# CHECK-INST: vmacc.vx v8, a0, v4, v0.t 25# CHECK-ENCODING: [0x57,0x64,0x45,0xb4] 26# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 27# CHECK-UNKNOWN: 57 64 45 b4 <unknown> 28 29vmacc.vx v8, a0, v4 30# CHECK-INST: vmacc.vx v8, a0, v4 31# CHECK-ENCODING: [0x57,0x64,0x45,0xb6] 32# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 33# CHECK-UNKNOWN: 57 64 45 b6 <unknown> 34 35vnmsac.vv v8, v20, v4, v0.t 36# CHECK-INST: vnmsac.vv v8, v20, v4, v0.t 37# CHECK-ENCODING: [0x57,0x24,0x4a,0xbc] 38# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 39# CHECK-UNKNOWN: 57 24 4a bc <unknown> 40 41vnmsac.vv v8, v20, v4 42# CHECK-INST: vnmsac.vv v8, v20, v4 43# CHECK-ENCODING: [0x57,0x24,0x4a,0xbe] 44# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 45# CHECK-UNKNOWN: 57 24 4a be <unknown> 46 47vnmsac.vx v8, a0, v4, v0.t 48# CHECK-INST: vnmsac.vx v8, a0, v4, v0.t 49# CHECK-ENCODING: [0x57,0x64,0x45,0xbc] 50# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 51# CHECK-UNKNOWN: 57 64 45 bc <unknown> 52 53vnmsac.vx v8, a0, v4 54# CHECK-INST: vnmsac.vx v8, a0, v4 55# CHECK-ENCODING: [0x57,0x64,0x45,0xbe] 56# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 57# CHECK-UNKNOWN: 57 64 45 be <unknown> 58 59vmadd.vv v8, v20, v4, v0.t 60# CHECK-INST: vmadd.vv v8, v20, v4, v0.t 61# CHECK-ENCODING: [0x57,0x24,0x4a,0xa4] 62# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 63# CHECK-UNKNOWN: 57 24 4a a4 <unknown> 64 65vmadd.vv v8, v20, v4 66# CHECK-INST: vmadd.vv v8, v20, v4 67# CHECK-ENCODING: [0x57,0x24,0x4a,0xa6] 68# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 69# CHECK-UNKNOWN: 57 24 4a a6 <unknown> 70 71vmadd.vx v8, a0, v4, v0.t 72# CHECK-INST: vmadd.vx v8, a0, v4, v0.t 73# CHECK-ENCODING: [0x57,0x64,0x45,0xa4] 74# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 75# CHECK-UNKNOWN: 57 64 45 a4 <unknown> 76 77vmadd.vx v8, a0, v4 78# CHECK-INST: vmadd.vx v8, a0, v4 79# CHECK-ENCODING: [0x57,0x64,0x45,0xa6] 80# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 81# CHECK-UNKNOWN: 57 64 45 a6 <unknown> 82 83vnmsub.vv v8, v20, v4, v0.t 84# CHECK-INST: vnmsub.vv v8, v20, v4, v0.t 85# CHECK-ENCODING: [0x57,0x24,0x4a,0xac] 86# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 87# CHECK-UNKNOWN: 57 24 4a ac <unknown> 88 89vnmsub.vv v8, v20, v4 90# CHECK-INST: vnmsub.vv v8, v20, v4 91# CHECK-ENCODING: [0x57,0x24,0x4a,0xae] 92# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 93# CHECK-UNKNOWN: 57 24 4a ae <unknown> 94 95vnmsub.vx v8, a0, v4, v0.t 96# CHECK-INST: vnmsub.vx v8, a0, v4, v0.t 97# CHECK-ENCODING: [0x57,0x64,0x45,0xac] 98# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 99# CHECK-UNKNOWN: 57 64 45 ac <unknown> 100 101vnmsub.vx v8, a0, v4 102# CHECK-INST: vnmsub.vx v8, a0, v4 103# CHECK-ENCODING: [0x57,0x64,0x45,0xae] 104# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 105# CHECK-UNKNOWN: 57 64 45 ae <unknown> 106 107vwmaccu.vv v8, v20, v4, v0.t 108# CHECK-INST: vwmaccu.vv v8, v20, v4, v0.t 109# CHECK-ENCODING: [0x57,0x24,0x4a,0xf0] 110# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 111# CHECK-UNKNOWN: 57 24 4a f0 <unknown> 112 113vwmaccu.vv v8, v20, v4 114# CHECK-INST: vwmaccu.vv v8, v20, v4 115# CHECK-ENCODING: [0x57,0x24,0x4a,0xf2] 116# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 117# CHECK-UNKNOWN: 57 24 4a f2 <unknown> 118 119vwmaccu.vx v8, a0, v4, v0.t 120# CHECK-INST: vwmaccu.vx v8, a0, v4, v0.t 121# CHECK-ENCODING: [0x57,0x64,0x45,0xf0] 122# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 123# CHECK-UNKNOWN: 57 64 45 f0 <unknown> 124 125vwmaccu.vx v8, a0, v4 126# CHECK-INST: vwmaccu.vx v8, a0, v4 127# CHECK-ENCODING: [0x57,0x64,0x45,0xf2] 128# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 129# CHECK-UNKNOWN: 57 64 45 f2 <unknown> 130 131vwmacc.vv v8, v20, v4, v0.t 132# CHECK-INST: vwmacc.vv v8, v20, v4, v0.t 133# CHECK-ENCODING: [0x57,0x24,0x4a,0xf4] 134# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 135# CHECK-UNKNOWN: 57 24 4a f4 <unknown> 136 137vwmacc.vv v8, v20, v4 138# CHECK-INST: vwmacc.vv v8, v20, v4 139# CHECK-ENCODING: [0x57,0x24,0x4a,0xf6] 140# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 141# CHECK-UNKNOWN: 57 24 4a f6 <unknown> 142 143vwmacc.vx v8, a0, v4, v0.t 144# CHECK-INST: vwmacc.vx v8, a0, v4, v0.t 145# CHECK-ENCODING: [0x57,0x64,0x45,0xf4] 146# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 147# CHECK-UNKNOWN: 57 64 45 f4 <unknown> 148 149vwmacc.vx v8, a0, v4 150# CHECK-INST: vwmacc.vx v8, a0, v4 151# CHECK-ENCODING: [0x57,0x64,0x45,0xf6] 152# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 153# CHECK-UNKNOWN: 57 64 45 f6 <unknown> 154 155vwmaccsu.vv v8, v20, v4, v0.t 156# CHECK-INST: vwmaccsu.vv v8, v20, v4, v0.t 157# CHECK-ENCODING: [0x57,0x24,0x4a,0xfc] 158# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 159# CHECK-UNKNOWN: 57 24 4a fc <unknown> 160 161vwmaccsu.vv v8, v20, v4 162# CHECK-INST: vwmaccsu.vv v8, v20, v4 163# CHECK-ENCODING: [0x57,0x24,0x4a,0xfe] 164# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 165# CHECK-UNKNOWN: 57 24 4a fe <unknown> 166 167vwmaccsu.vx v8, a0, v4, v0.t 168# CHECK-INST: vwmaccsu.vx v8, a0, v4, v0.t 169# CHECK-ENCODING: [0x57,0x64,0x45,0xfc] 170# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 171# CHECK-UNKNOWN: 57 64 45 fc <unknown> 172 173vwmaccsu.vx v8, a0, v4 174# CHECK-INST: vwmaccsu.vx v8, a0, v4 175# CHECK-ENCODING: [0x57,0x64,0x45,0xfe] 176# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 177# CHECK-UNKNOWN: 57 64 45 fe <unknown> 178 179vwmaccus.vx v8, a0, v4, v0.t 180# CHECK-INST: vwmaccus.vx v8, a0, v4, v0.t 181# CHECK-ENCODING: [0x57,0x64,0x45,0xf8] 182# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 183# CHECK-UNKNOWN: 57 64 45 f8 <unknown> 184 185vwmaccus.vx v8, a0, v4 186# CHECK-INST: vwmaccus.vx v8, a0, v4 187# CHECK-ENCODING: [0x57,0x64,0x45,0xfa] 188# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions) 189# CHECK-UNKNOWN: 57 64 45 fa <unknown> 190