1 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve2
< %s \
2 // RUN
: | FileCheck
%s
--check-prefixes
=CHECK-ENCODING
,CHECK-INST
3 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
< %s
2>&1 \
4 // RUN
: | FileCheck
%s
--check-prefix
=CHECK-ERROR
5 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sve2
< %s \
6 // RUN
: | llvm-objdump
-d
-mattr
=+sve2
- | FileCheck
%s
--check-prefix
=CHECK-INST
7 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sve2
< %s \
8 // RUN
: | llvm-objdump
-d
- | FileCheck
%s
--check-prefix
=CHECK-UNKNOWN
10 sqshlu z0.
b, p0
/m
, z0.
b, #0
11 // CHECK-INST
: sqshlu z0.
b, p0
/m
, z0.
b, #0
12 // CHECK-ENCODING
: [0x00,0x81,0x0f,0x04]
13 // CHECK-ERROR
: instruction requires
: sve2
14 // CHECK-UNKNOWN
: 00 81 0f
04 <unknown
>
16 sqshlu z31.
b, p0
/m
, z31.
b, #7
17 // CHECK-INST
: sqshlu z31.
b, p0
/m
, z31.
b, #7
18 // CHECK-ENCODING
: [0xff,0x81,0x0f,0x04]
19 // CHECK-ERROR
: instruction requires
: sve2
20 // CHECK-UNKNOWN
: ff
81 0f
04 <unknown
>
22 sqshlu z0.h
, p0
/m
, z0.h
, #0
23 // CHECK-INST
: sqshlu z0.h
, p0
/m
, z0.h
, #0
24 // CHECK-ENCODING
: [0x00,0x82,0x0f,0x04]
25 // CHECK-ERROR
: instruction requires
: sve2
26 // CHECK-UNKNOWN
: 00 82 0f
04 <unknown
>
28 sqshlu z31.h
, p0
/m
, z31.h
, #15
29 // CHECK-INST
: sqshlu z31.h
, p0
/m
, z31.h
, #15
30 // CHECK-ENCODING
: [0xff,0x83,0x0f,0x04]
31 // CHECK-ERROR
: instruction requires
: sve2
32 // CHECK-UNKNOWN
: ff
83 0f
04 <unknown
>
34 sqshlu z0.s
, p0
/m
, z0.s
, #0
35 // CHECK-INST
: sqshlu z0.s
, p0
/m
, z0.s
, #0
36 // CHECK-ENCODING
: [0x00,0x80,0x4f,0x04]
37 // CHECK-ERROR
: instruction requires
: sve2
38 // CHECK-UNKNOWN
: 00 80 4f
04 <unknown
>
40 sqshlu z31.s
, p0
/m
, z31.s
, #31
41 // CHECK-INST
: sqshlu z31.s
, p0
/m
, z31.s
, #31
42 // CHECK-ENCODING
: [0xff,0x83,0x4f,0x04]
43 // CHECK-ERROR
: instruction requires
: sve2
44 // CHECK-UNKNOWN
: ff
83 4f
04 <unknown
>
46 sqshlu z0.d
, p0
/m
, z0.d
, #0
47 // CHECK-INST
: sqshlu z0.d
, p0
/m
, z0.d
, #0
48 // CHECK-ENCODING
: [0x00,0x80,0x8f,0x04]
49 // CHECK-ERROR
: instruction requires
: sve2
50 // CHECK-UNKNOWN
: 00 80 8f
04 <unknown
>
52 sqshlu z31.d
, p0
/m
, z31.d
, #63
53 // CHECK-INST
: sqshlu z31.d
, p0
/m
, z31.d
, #63
54 // CHECK-ENCODING
: [0xff,0x83,0xcf,0x04]
55 // CHECK-ERROR
: instruction requires
: sve2
56 // CHECK-UNKNOWN
: ff
83 cf
04 <unknown
>
58 // --------------------------------------------------------------------------//
59 // Test compatibility with MOVPRFX instruction.
61 movprfx z31.d
, p0
/z
, z6.d
62 // CHECK-INST
: movprfx z31.d
, p0
/z
, z6.d
63 // CHECK-ENCODING
: [0xdf,0x20,0xd0,0x04]
64 // CHECK-ERROR
: instruction requires
: sve
65 // CHECK-UNKNOWN
: df
20 d0
04 <unknown
>
67 sqshlu z31.d
, p0
/m
, z31.d
, #63
68 // CHECK-INST
: sqshlu z31.d
, p0
/m
, z31.d
, #63
69 // CHECK-ENCODING
: [0xff,0x83,0xcf,0x04]
70 // CHECK-ERROR
: instruction requires
: sve2
71 // CHECK-UNKNOWN
: ff
83 cf
04 <unknown
>
74 // CHECK-INST
: movprfx z31
, z6
75 // CHECK-ENCODING
: [0xdf,0xbc,0x20,0x04]
76 // CHECK-ERROR
: instruction requires
: sve
77 // CHECK-UNKNOWN
: df
bc 20 04 <unknown
>
79 sqshlu z31.d
, p0
/m
, z31.d
, #63
80 // CHECK-INST
: sqshlu z31.d
, p0
/m
, z31.d
, #63
81 // CHECK-ENCODING
: [0xff,0x83,0xcf,0x04]
82 // CHECK-ERROR
: instruction requires
: sve2
83 // CHECK-UNKNOWN
: ff
83 cf
04 <unknown
>