@@ -1,12 +1,12 @@
# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+experimental-v %s \
# RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
# RUN: --riscv-no-aliases | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
# RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2 >&1 \
# RUN: | FileCheck %s --check-prefix=CHECK-ERROR
# RUN: | FileCheck %s --check-prefix=CHECK-ERROR
# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \
# RUN: | llvm-objdump -d --mattr=+experimental-v - \
# RUN: | FileCheck %s --check-prefix=CHECK-INST
# RUN: | llvm-objdump -d --mattr=+experimental-v - --riscv-no-aliases \
# RUN: | FileCheck %s --check-prefix=CHECK-INST
# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \
# RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
# RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
vle8 .v v8, (a0 ), v0.t
# CHECK-INST: vle8.v v8, (a0 ), v0.t
Expand Down
Expand Up
@@ -296,104 +296,290 @@ vlse1024.v v8, (a0), a1
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 b5 1a <unknown>
vlxei8 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei8.v v8, (a0 ), v4, v0.t
vluxei8 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vluxei8.v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x04,0x45,0x04]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 45 04 <unknown>
vluxei8 .v v8, (a0 ), v4
# CHECK-INST: vluxei8.v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x04,0x45,0x06]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 45 06 <unknown>
vluxei16 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vluxei16.v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x54,0x45,0x04]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 45 04 <unknown>
vluxei16 .v v8, (a0 ), v4
# CHECK-INST: vluxei16.v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x54,0x45,0x06]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 45 06 <unknown>
vluxei32 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vluxei32.v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x64,0x45,0x04]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 45 04 <unknown>
vluxei32 .v v8, (a0 ), v4
# CHECK-INST: vluxei32.v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x64,0x45,0x06]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 45 06 <unknown>
vluxei64 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vluxei64.v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x74,0x45,0x04]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 45 04 <unknown>
vluxei64 .v v8, (a0 ), v4
# CHECK-INST: vluxei64.v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x74,0x45,0x06]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 45 06 <unknown>
vloxei8 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vloxei8.v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x04,0x45,0x0c]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 45 0c <unknown>
vlxei8 .v v8, (a0 ), v4
# CHECK-INST: vlxei8 .v v8, (a0 ), v4
vloxei8 .v v8, (a0 ), v4
# CHECK-INST: vloxei8 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x04,0x45,0x0e]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 45 0e <unknown>
vlxei16 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei16 .v v8, (a0 ), v4, v0.t
vloxei16 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vloxei16 .v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x54,0x45,0x0c]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 45 0c <unknown>
vlxei16 .v v8, (a0 ), v4
# CHECK-INST: vlxei16 .v v8, (a0 ), v4
vloxei16 .v v8, (a0 ), v4
# CHECK-INST: vloxei16 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x54,0x45,0x0e]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 45 0e <unknown>
vlxei32 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei32 .v v8, (a0 ), v4, v0.t
vloxei32 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vloxei32 .v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x64,0x45,0x0c]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 45 0c <unknown>
vlxei32 .v v8, (a0 ), v4
# CHECK-INST: vlxei32 .v v8, (a0 ), v4
vloxei32 .v v8, (a0 ), v4
# CHECK-INST: vloxei32 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x64,0x45,0x0e]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 45 0e <unknown>
vlxei64 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei64 .v v8, (a0 ), v4, v0.t
vloxei64 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vloxei64 .v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x74,0x45,0x0c]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 45 0c <unknown>
vlxei64 .v v8, (a0 ), v4
# CHECK-INST: vlxei64 .v v8, (a0 ), v4
vloxei64 .v v8, (a0 ), v4
# CHECK-INST: vloxei64 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x74,0x45,0x0e]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 45 0e <unknown>
vlxei128 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei128.v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x04,0x45,0x1c]
vl1re8 .v v8, (a0 )
# CHECK-INST: vl1re8.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x22]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 85 22 <unknown>
vl1re16 .v v8, (a0 )
# CHECK-INST: vl1re16.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x22]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 85 22 <unknown>
vl1re32 .v v8, (a0 )
# CHECK-INST: vl1re32.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x22]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 85 22 <unknown>
vl1re64 .v v8, (a0 )
# CHECK-INST: vl1re64.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x22]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 85 22 <unknown>
vl1re128 .v v8, (a0 )
# CHECK-INST: vl1re128.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x32]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 85 32 <unknown>
vl1re256 .v v8, (a0 )
# CHECK-INST: vl1re256.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x32]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 85 32 <unknown>
vl1re512 .v v8, (a0 )
# CHECK-INST: vl1re512.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x32]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 85 32 <unknown>
vl1re1024 .v v8, (a0 )
# CHECK-INST: vl1re1024.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x32]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 85 32 <unknown>
vl2re8 .v v8, (a0 )
# CHECK-INST: vl2re8.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x42]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 85 42 <unknown>
vl2re16 .v v8, (a0 )
# CHECK-INST: vl2re16.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x42]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 85 42 <unknown>
vl2re32 .v v8, (a0 )
# CHECK-INST: vl2re32.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x42]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 85 42 <unknown>
vl2re64 .v v8, (a0 )
# CHECK-INST: vl2re64.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x42]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 85 42 <unknown>
vl2re128 .v v8, (a0 )
# CHECK-INST: vl2re128.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x52]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 85 52 <unknown>
vl2re256 .v v8, (a0 )
# CHECK-INST: vl2re256.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x52]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 85 52 <unknown>
vl2re512 .v v8, (a0 )
# CHECK-INST: vl2re512.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x52]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 85 52 <unknown>
vl2re1024 .v v8, (a0 )
# CHECK-INST: vl2re1024.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x52]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 45 1c <unknown>
# CHECK-UNKNOWN: 07 74 85 52 <unknown>
vlxei128 .v v8, (a0 ), v4
# CHECK-INST: vlxei128 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x04,0x45,0x1e ]
vl4re8 .v v8, (a0 )
# CHECK-INST: vl4re8 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x82 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 45 1e <unknown>
# CHECK-UNKNOWN: 07 04 85 82 <unknown>
vlxei256 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei256 .v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x54,0x45,0x1c ]
vl4re16 .v v8, (a0 )
# CHECK-INST: vl4re16 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x82 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 45 1c <unknown>
# CHECK-UNKNOWN: 07 54 85 82 <unknown>
vlxei256 .v v8, (a0 ), v4
# CHECK-INST: vlxei256 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x54,0x45,0x1e ]
vl4re32 .v v8, (a0 )
# CHECK-INST: vl4re32 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x82 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 45 1e <unknown>
# CHECK-UNKNOWN: 07 64 85 82 <unknown>
vlxei512 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei512 .v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x64,0x45,0x1c ]
vl4re64 .v v8, (a0 )
# CHECK-INST: vl4re64 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x82 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 45 1c <unknown>
# CHECK-UNKNOWN: 07 74 85 82 <unknown>
vlxei512 .v v8, (a0 ), v4
# CHECK-INST: vlxei512 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x64,0x45,0x1e ]
vl4re128 .v v8, (a0 )
# CHECK-INST: vl4re128 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x92 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 45 1e <unknown>
# CHECK-UNKNOWN: 07 04 85 92 <unknown>
vlxei1024 .v v8, (a0 ), v4, v0.t
# CHECK-INST: vlxei1024 .v v8, (a0 ), v4, v0.t
# CHECK-ENCODING: [0x07,0x74,0x45,0x1c ]
vl4re256 .v v8, (a0 )
# CHECK-INST: vl4re256 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x92 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 45 1c <unknown>
# CHECK-UNKNOWN: 07 54 85 92 <unknown>
vlxei1024 .v v8, (a0 ), v4
# CHECK-INST: vlxei1024 .v v8, (a0 ), v4
# CHECK-ENCODING: [0x07,0x74,0x45,0x1e ]
vl4re512 .v v8, (a0 )
# CHECK-INST: vl4re512 .v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x92 ]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 45 1e <unknown>
# CHECK-UNKNOWN: 07 64 85 92 <unknown>
vl1r .v v8, (a0 )
# CHECK-INST: vl1r.v v8, (a0 )
vl4re1024 .v v8, (a0 )
# CHECK-INST: vl4re1024.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x92]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 85 92 <unknown>
vl8re8 .v v8, (a0 )
# CHECK-INST: vl8re8.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x02]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 85 02 <unknown>
vl8re16 .v v8, (a0 )
# CHECK-INST: vl8re16.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x02]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 85 02 <unknown>
vl8re32 .v v8, (a0 )
# CHECK-INST: vl8re32.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x02]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 85 02 <unknown>
vl8re64 .v v8, (a0 )
# CHECK-INST: vl8re64.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x02]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 85 02 <unknown>
vl8re128 .v v8, (a0 )
# CHECK-INST: vl8re128.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x04,0x85,0x12]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 04 85 12 <unknown>
vl8re256 .v v8, (a0 )
# CHECK-INST: vl8re256.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x54,0x85,0x12]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 54 85 12 <unknown>
vl8re512 .v v8, (a0 )
# CHECK-INST: vl8re512.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x64,0x85,0x12]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 64 85 12 <unknown>
vl8re1024 .v v8, (a0 )
# CHECK-INST: vl8re1024.v v8, (a0 )
# CHECK-ENCODING: [0x07,0x74,0x85,0x12]
# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
# CHECK-UNKNOWN: 07 74 85 12 <unknown>