1 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sve
< %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
: not llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme
< %s
2>&1 \
6 // RUN
: | FileCheck
%s
--check-prefix
=CHECK-ERROR
7 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sve
< %s \
8 // RUN
: | llvm-objdump
--no-print-imm-hex
-d
--mattr
=+sve
- | FileCheck
%s
--check-prefix
=CHECK-INST
9 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sve
< %s \
10 // RUN
: | llvm-objdump
--no-print-imm-hex
-d
--mattr
=-sve
- | FileCheck
%s
--check-prefix
=CHECK-UNKNOWN
12 ldff1sh
{ z31.s
}, p7
/z
, [sp
]
13 // CHECK-INST
: ldff1sh
{ z31.s
}, p7
/z
, [sp
]
14 // CHECK-ENCODING
: [0xff,0x7f,0x3f,0xa5]
15 // CHECK-ERROR
: instruction requires
: sve
16 // CHECK-UNKNOWN
: a53f7fff
<unknown
>
18 ldff1sh
{ z31.d
}, p7
/z
, [sp
]
19 // CHECK-INST
: ldff1sh
{ z31.d
}, p7
/z
, [sp
]
20 // CHECK-ENCODING
: [0xff,0x7f,0x1f,0xa5]
21 // CHECK-ERROR
: instruction requires
: sve
22 // CHECK-UNKNOWN
: a51f7fff
<unknown
>
24 ldff1sh
{ z31.s
}, p7
/z
, [sp
, xzr
, lsl
#1]
25 // CHECK-INST
: ldff1sh
{ z31.s
}, p7
/z
, [sp
]
26 // CHECK-ENCODING
: [0xff,0x7f,0x3f,0xa5]
27 // CHECK-ERROR
: instruction requires
: sve
28 // CHECK-UNKNOWN
: a53f7fff
<unknown
>
30 ldff1sh
{ z31.d
}, p7
/z
, [sp
, xzr
, lsl
#1]
31 // CHECK-INST
: ldff1sh
{ z31.d
}, p7
/z
, [sp
]
32 // CHECK-ENCODING
: [0xff,0x7f,0x1f,0xa5]
33 // CHECK-ERROR
: instruction requires
: sve
34 // CHECK-UNKNOWN
: a51f7fff
<unknown
>
36 ldff1sh
{ z0.s
}, p0
/z
, [x0
, x0
, lsl
#1]
37 // CHECK-INST
: ldff1sh
{ z0.s
}, p0
/z
, [x0
, x0
, lsl
#1]
38 // CHECK-ENCODING
: [0x00,0x60,0x20,0xa5]
39 // CHECK-ERROR
: instruction requires
: sve
40 // CHECK-UNKNOWN
: a5206000
<unknown
>
42 ldff1sh
{ z0.d
}, p0
/z
, [x0
, x0
, lsl
#1]
43 // CHECK-INST
: ldff1sh
{ z0.d
}, p0
/z
, [x0
, x0
, lsl
#1]
44 // CHECK-ENCODING
: [0x00,0x60,0x00,0xa5]
45 // CHECK-ERROR
: instruction requires
: sve
46 // CHECK-UNKNOWN
: a5006000
<unknown
>
48 ldff1sh
{ z0.s
}, p0
/z
, [x0
, z0.s
, uxtw
]
49 // CHECK-INST
: ldff1sh
{ z0.s
}, p0
/z
, [x0
, z0.s
, uxtw
]
50 // CHECK-ENCODING
: [0x00,0x20,0x80,0x84]
51 // CHECK-ERROR
: instruction requires
: sve
52 // CHECK-UNKNOWN
: 84802000 <unknown
>
54 ldff1sh
{ z0.s
}, p0
/z
, [x0
, z0.s
, sxtw
]
55 // CHECK-INST
: ldff1sh
{ z0.s
}, p0
/z
, [x0
, z0.s
, sxtw
]
56 // CHECK-ENCODING
: [0x00,0x20,0xc0,0x84]
57 // CHECK-ERROR
: instruction requires
: sve
58 // CHECK-UNKNOWN
: 84c02000
<unknown
>
60 ldff1sh
{ z31.s
}, p7
/z
, [sp
, z31.s
, uxtw
#1]
61 // CHECK-INST
: ldff1sh
{ z31.s
}, p7
/z
, [sp
, z31.s
, uxtw
#1]
62 // CHECK-ENCODING
: [0xff,0x3f,0xbf,0x84]
63 // CHECK-ERROR
: instruction requires
: sve
64 // CHECK-UNKNOWN
: 84bf3fff
<unknown
>
66 ldff1sh
{ z31.s
}, p7
/z
, [sp
, z31.s
, sxtw
#1]
67 // CHECK-INST
: ldff1sh
{ z31.s
}, p7
/z
, [sp
, z31.s
, sxtw
#1]
68 // CHECK-ENCODING
: [0xff,0x3f,0xff,0x84]
69 // CHECK-ERROR
: instruction requires
: sve
70 // CHECK-UNKNOWN
: 84ff3fff
<unknown
>
72 ldff1sh
{ z31.d
}, p7
/z
, [sp
, z31.d
]
73 // CHECK-INST
: ldff1sh
{ z31.d
}, p7
/z
, [sp
, z31.d
]
74 // CHECK-ENCODING
: [0xff,0xbf,0xdf,0xc4]
75 // CHECK-ERROR
: instruction requires
: sve
76 // CHECK-UNKNOWN
: c4dfbfff
<unknown
>
78 ldff1sh
{ z23.d
}, p3
/z
, [x13
, z8.d
, lsl
#1]
79 // CHECK-INST
: ldff1sh
{ z23.d
}, p3
/z
, [x13
, z8.d
, lsl
#1]
80 // CHECK-ENCODING
: [0xb7,0xad,0xe8,0xc4]
81 // CHECK-ERROR
: instruction requires
: sve
82 // CHECK-UNKNOWN
: c4e8adb7
<unknown
>
84 ldff1sh
{ z21.d
}, p5
/z
, [x10
, z21.d
, uxtw
]
85 // CHECK-INST
: ldff1sh
{ z21.d
}, p5
/z
, [x10
, z21.d
, uxtw
]
86 // CHECK-ENCODING
: [0x55,0x35,0x95,0xc4]
87 // CHECK-ERROR
: instruction requires
: sve
88 // CHECK-UNKNOWN
: c4953555
<unknown
>
90 ldff1sh
{ z21.d
}, p5
/z
, [x10
, z21.d
, sxtw
]
91 // CHECK-INST
: ldff1sh
{ z21.d
}, p5
/z
, [x10
, z21.d
, sxtw
]
92 // CHECK-ENCODING
: [0x55,0x35,0xd5,0xc4]
93 // CHECK-ERROR
: instruction requires
: sve
94 // CHECK-UNKNOWN
: c4d53555
<unknown
>
96 ldff1sh
{ z0.d
}, p0
/z
, [x0
, z0.d
, uxtw
#1]
97 // CHECK-INST
: ldff1sh
{ z0.d
}, p0
/z
, [x0
, z0.d
, uxtw
#1]
98 // CHECK-ENCODING
: [0x00,0x20,0xa0,0xc4]
99 // CHECK-ERROR
: instruction requires
: sve
100 // CHECK-UNKNOWN
: c4a02000
<unknown
>
102 ldff1sh
{ z0.d
}, p0
/z
, [x0
, z0.d
, sxtw
#1]
103 // CHECK-INST
: ldff1sh
{ z0.d
}, p0
/z
, [x0
, z0.d
, sxtw
#1]
104 // CHECK-ENCODING
: [0x00,0x20,0xe0,0xc4]
105 // CHECK-ERROR
: instruction requires
: sve
106 // CHECK-UNKNOWN
: c4e02000
<unknown
>
108 ldff1sh
{ z31.s
}, p7
/z
, [z31.s
, #62]
109 // CHECK-INST
: ldff1sh
{ z31.s
}, p7
/z
, [z31.s
, #62]
110 // CHECK-ENCODING
: [0xff,0xbf,0xbf,0x84]
111 // CHECK-ERROR
: instruction requires
: sve
112 // CHECK-UNKNOWN
: 84bfbfff
<unknown
>
114 ldff1sh
{ z0.s
}, p0
/z
, [z0.s
]
115 // CHECK-INST
: ldff1sh
{ z0.s
}, p0
/z
, [z0.s
]
116 // CHECK-ENCODING
: [0x00,0xa0,0xa0,0x84]
117 // CHECK-ERROR
: instruction requires
: sve
118 // CHECK-UNKNOWN
: 84a0a000
<unknown
>
120 ldff1sh
{ z31.d
}, p7
/z
, [z31.d
, #62]
121 // CHECK-INST
: ldff1sh
{ z31.d
}, p7
/z
, [z31.d
, #62]
122 // CHECK-ENCODING
: [0xff,0xbf,0xbf,0xc4]
123 // CHECK-ERROR
: instruction requires
: sve
124 // CHECK-UNKNOWN
: c4bfbfff
<unknown
>
126 ldff1sh
{ z0.d
}, p0
/z
, [z0.d
]
127 // CHECK-INST
: ldff1sh
{ z0.d
}, p0
/z
, [z0.d
]
128 // CHECK-ENCODING
: [0x00,0xa0,0xa0,0xc4]
129 // CHECK-ERROR
: instruction requires
: sve
130 // CHECK-UNKNOWN
: c4a0a000
<unknown
>