202 lines · plain
1# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+v %s \2# RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3# RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \4# RUN: | FileCheck %s --check-prefix=CHECK-ERROR5# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v %s \6# RUN: | llvm-objdump -d --mattr=+v - \7# RUN: | FileCheck %s --check-prefix=CHECK-INST8# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v %s \9# RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN10 11vmul.vv v8, v4, v20, v0.t12# CHECK-INST: vmul.vv v8, v4, v20, v0.t13# CHECK-ENCODING: [0x57,0x24,0x4a,0x94]14# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}15# CHECK-UNKNOWN: 944a2457 <unknown>16 17vmul.vv v8, v4, v2018# CHECK-INST: vmul.vv v8, v4, v2019# CHECK-ENCODING: [0x57,0x24,0x4a,0x96]20# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}21# CHECK-UNKNOWN: 964a2457 <unknown>22 23vmul.vx v8, v4, a0, v0.t24# CHECK-INST: vmul.vx v8, v4, a0, v0.t25# CHECK-ENCODING: [0x57,0x64,0x45,0x94]26# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}27# CHECK-UNKNOWN: 94456457 <unknown>28 29vmul.vx v8, v4, a030# CHECK-INST: vmul.vx v8, v4, a031# CHECK-ENCODING: [0x57,0x64,0x45,0x96]32# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}33# CHECK-UNKNOWN: 96456457 <unknown>34 35vmulh.vv v8, v4, v20, v0.t36# CHECK-INST: vmulh.vv v8, v4, v20, v0.t37# CHECK-ENCODING: [0x57,0x24,0x4a,0x9c]38# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}39# CHECK-UNKNOWN: 9c4a2457 <unknown>40 41vmulh.vv v8, v4, v2042# CHECK-INST: vmulh.vv v8, v4, v2043# CHECK-ENCODING: [0x57,0x24,0x4a,0x9e]44# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}45# CHECK-UNKNOWN: 9e4a2457 <unknown>46 47vmulh.vx v8, v4, a0, v0.t48# CHECK-INST: vmulh.vx v8, v4, a0, v0.t49# CHECK-ENCODING: [0x57,0x64,0x45,0x9c]50# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}51# CHECK-UNKNOWN: 9c456457 <unknown>52 53vmulh.vx v8, v4, a054# CHECK-INST: vmulh.vx v8, v4, a055# CHECK-ENCODING: [0x57,0x64,0x45,0x9e]56# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}57# CHECK-UNKNOWN: 9e456457 <unknown>58 59vmulhu.vv v8, v4, v20, v0.t60# CHECK-INST: vmulhu.vv v8, v4, v20, v0.t61# CHECK-ENCODING: [0x57,0x24,0x4a,0x90]62# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}63# CHECK-UNKNOWN: 904a2457 <unknown>64 65vmulhu.vv v8, v4, v2066# CHECK-INST: vmulhu.vv v8, v4, v2067# CHECK-ENCODING: [0x57,0x24,0x4a,0x92]68# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}69# CHECK-UNKNOWN: 924a2457 <unknown>70 71vmulhu.vx v8, v4, a0, v0.t72# CHECK-INST: vmulhu.vx v8, v4, a0, v0.t73# CHECK-ENCODING: [0x57,0x64,0x45,0x90]74# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}75# CHECK-UNKNOWN: 90456457 <unknown>76 77vmulhu.vx v8, v4, a078# CHECK-INST: vmulhu.vx v8, v4, a079# CHECK-ENCODING: [0x57,0x64,0x45,0x92]80# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}81# CHECK-UNKNOWN: 92456457 <unknown>82 83vmulhsu.vv v8, v4, v20, v0.t84# CHECK-INST: vmulhsu.vv v8, v4, v20, v0.t85# CHECK-ENCODING: [0x57,0x24,0x4a,0x98]86# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}87# CHECK-UNKNOWN: 984a2457 <unknown>88 89vmulhsu.vv v8, v4, v2090# CHECK-INST: vmulhsu.vv v8, v4, v2091# CHECK-ENCODING: [0x57,0x24,0x4a,0x9a]92# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}93# CHECK-UNKNOWN: 9a4a2457 <unknown>94 95vmulhsu.vx v8, v4, a0, v0.t96# CHECK-INST: vmulhsu.vx v8, v4, a0, v0.t97# CHECK-ENCODING: [0x57,0x64,0x45,0x98]98# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}99# CHECK-UNKNOWN: 98456457 <unknown>100 101vmulhsu.vx v8, v4, a0102# CHECK-INST: vmulhsu.vx v8, v4, a0103# CHECK-ENCODING: [0x57,0x64,0x45,0x9a]104# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}105# CHECK-UNKNOWN: 9a456457 <unknown>106 107vwmul.vv v8, v4, v20, v0.t108# CHECK-INST: vwmul.vv v8, v4, v20, v0.t109# CHECK-ENCODING: [0x57,0x24,0x4a,0xec]110# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}111# CHECK-UNKNOWN: ec4a2457 <unknown>112 113vwmul.vv v8, v4, v20114# CHECK-INST: vwmul.vv v8, v4, v20115# CHECK-ENCODING: [0x57,0x24,0x4a,0xee]116# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}117# CHECK-UNKNOWN: ee4a2457 <unknown>118 119vwmul.vx v8, v4, a0, v0.t120# CHECK-INST: vwmul.vx v8, v4, a0, v0.t121# CHECK-ENCODING: [0x57,0x64,0x45,0xec]122# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}123# CHECK-UNKNOWN: ec456457 <unknown>124 125vwmul.vx v8, v4, a0126# CHECK-INST: vwmul.vx v8, v4, a0127# CHECK-ENCODING: [0x57,0x64,0x45,0xee]128# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}129# CHECK-UNKNOWN: ee456457 <unknown>130 131vwmulu.vv v8, v4, v20, v0.t132# CHECK-INST: vwmulu.vv v8, v4, v20, v0.t133# CHECK-ENCODING: [0x57,0x24,0x4a,0xe0]134# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}135# CHECK-UNKNOWN: e04a2457 <unknown>136 137vwmulu.vv v8, v4, v20138# CHECK-INST: vwmulu.vv v8, v4, v20139# CHECK-ENCODING: [0x57,0x24,0x4a,0xe2]140# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}141# CHECK-UNKNOWN: e24a2457 <unknown>142 143vwmulu.vx v8, v4, a0, v0.t144# CHECK-INST: vwmulu.vx v8, v4, a0, v0.t145# CHECK-ENCODING: [0x57,0x64,0x45,0xe0]146# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}147# CHECK-UNKNOWN: e0456457 <unknown>148 149vwmulu.vx v8, v4, a0150# CHECK-INST: vwmulu.vx v8, v4, a0151# CHECK-ENCODING: [0x57,0x64,0x45,0xe2]152# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}153# CHECK-UNKNOWN: e2456457 <unknown>154 155vwmulsu.vv v8, v4, v20, v0.t156# CHECK-INST: vwmulsu.vv v8, v4, v20, v0.t157# CHECK-ENCODING: [0x57,0x24,0x4a,0xe8]158# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}159# CHECK-UNKNOWN: e84a2457 <unknown>160 161vwmulsu.vv v8, v4, v20162# CHECK-INST: vwmulsu.vv v8, v4, v20163# CHECK-ENCODING: [0x57,0x24,0x4a,0xea]164# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}165# CHECK-UNKNOWN: ea4a2457 <unknown>166 167vwmulsu.vx v8, v4, a0, v0.t168# CHECK-INST: vwmulsu.vx v8, v4, a0, v0.t169# CHECK-ENCODING: [0x57,0x64,0x45,0xe8]170# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}171# CHECK-UNKNOWN: e8456457 <unknown>172 173vwmulsu.vx v8, v4, a0174# CHECK-INST: vwmulsu.vx v8, v4, a0175# CHECK-ENCODING: [0x57,0x64,0x45,0xea]176# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}177# CHECK-UNKNOWN: ea456457 <unknown>178 179vsmul.vv v8, v4, v20, v0.t180# CHECK-INST: vsmul.vv v8, v4, v20, v0.t181# CHECK-ENCODING: [0x57,0x04,0x4a,0x9c]182# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}183# CHECK-UNKNOWN: 9c4a0457 <unknown>184 185vsmul.vv v8, v4, v20186# CHECK-INST: vsmul.vv v8, v4, v20187# CHECK-ENCODING: [0x57,0x04,0x4a,0x9e]188# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}189# CHECK-UNKNOWN: 9e4a0457 <unknown>190 191vsmul.vx v8, v4, a0, v0.t192# CHECK-INST: vsmul.vx v8, v4, a0, v0.t193# CHECK-ENCODING: [0x57,0x44,0x45,0x9c]194# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}195# CHECK-UNKNOWN: 9c454457 <unknown>196 197vsmul.vx v8, v4, a0198# CHECK-INST: vsmul.vx v8, v4, a0199# CHECK-ENCODING: [0x57,0x44,0x45,0x9e]200# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}201# CHECK-UNKNOWN: 9e454457 <unknown>202