[binutils][aarch64] Add SVE2 tests
[deliverable/binutils-gdb.git] / gas / testsuite / gas / aarch64 / sve1-extended-sve2.s
1 /*
2 Those instructions from the sve2.s file that share mnemonics with
3 instructions in SVE.
4 Created with the below command
5 `grep -E '^(ext|ldnt1b|ldnt1d|ldnt1h|ldnt1w|mla|mls|mul|smulh|splice|sqadd|sqsub|stnt1b|stnt1d|stnt1h|stnt1w|tbl|umulh|uqadd|uqsub)\b' sve2.s`
6
7 This test file is here to ensure those instructions with shared mnemonics do
8 not work when assembled with only +sve enabled.
9 */
10
11 ext z17.b, { z21.b, z22.b }, #221
12 ext z0.b, { z0.b, z1.b }, #0
13 ext z0.b, { z31.b, z0.b }, #0
14 ldnt1b { z17.d }, p5/z, [z21.d, x27]
15 ldnt1b { z0.d }, p0/z, [z0.d, x0]
16 ldnt1b { z0.d }, p0/z, [z0.d]
17 ldnt1b { z0.d }, p0/z, [z0.d, xzr]
18 ldnt1b { z17.s }, p5/z, [z21.s, x27]
19 ldnt1b { z0.s }, p0/z, [z0.s, x0]
20 ldnt1b { z0.s }, p0/z, [z0.s]
21 ldnt1b { z0.s }, p0/z, [z0.s, xzr]
22 ldnt1d { z17.d }, p5/z, [z21.d, x27]
23 ldnt1d { z0.d }, p0/z, [z0.d, x0]
24 ldnt1d { z0.d }, p0/z, [z0.d]
25 ldnt1d { z0.d }, p0/z, [z0.d, xzr]
26 ldnt1h { z17.d }, p5/z, [z21.d, x27]
27 ldnt1h { z0.d }, p0/z, [z0.d, x0]
28 ldnt1h { z0.d }, p0/z, [z0.d]
29 ldnt1h { z0.d }, p0/z, [z0.d, xzr]
30 ldnt1h { z17.s }, p5/z, [z21.s, x27]
31 ldnt1h { z0.s }, p0/z, [z0.s, x0]
32 ldnt1h { z0.s }, p0/z, [z0.s]
33 ldnt1h { z0.s }, p0/z, [z0.s, xzr]
34 ldnt1w { z17.s }, p5/z, [z21.s, x27]
35 ldnt1w { z0.s }, p0/z, [z0.s, x0]
36 ldnt1w { z0.s }, p0/z, [z0.s]
37 ldnt1w { z0.s }, p0/z, [z0.s, xzr]
38 ldnt1w { z17.d }, p5/z, [z21.d, x27]
39 ldnt1w { z0.d }, p0/z, [z0.d, x0]
40 ldnt1w { z0.d }, p0/z, [z0.d]
41 ldnt1w { z0.d }, p0/z, [z0.d, xzr]
42 mla z17.h, z21.h, z3.h[3]
43 mla z0.h, z0.h, z0.h[4]
44 mla z0.h, z0.h, z0.h[0]
45 mla z17.s, z21.s, z3.s[3]
46 mla z0.s, z0.s, z0.s[0]
47 mla z17.d, z21.d, z11.d[1]
48 mla z0.d, z0.d, z0.d[0]
49 mls z17.h, z21.h, z3.h[3]
50 mls z0.h, z0.h, z0.h[4]
51 mls z0.h, z0.h, z0.h[0]
52 mls z17.s, z21.s, z3.s[3]
53 mls z0.s, z0.s, z0.s[0]
54 mls z17.d, z21.d, z11.d[1]
55 mls z0.d, z0.d, z0.d[0]
56 mul z17.h, z21.h, z3.h[3]
57 mul z0.h, z0.h, z0.h[4]
58 mul z0.h, z0.h, z0.h[0]
59 mul z17.s, z21.s, z3.s[3]
60 mul z0.s, z0.s, z0.s[0]
61 mul z17.d, z21.d, z11.d[1]
62 mul z0.d, z0.d, z0.d[0]
63 mul z17.b, z21.b, z27.b
64 mul z0.b, z0.b, z0.b
65 mul z0.h, z0.h, z0.h
66 mul z0.s, z0.s, z0.s
67 mul z0.d, z0.d, z0.d
68 smulh z17.b, z21.b, z27.b
69 smulh z0.b, z0.b, z0.b
70 smulh z0.h, z0.h, z0.h
71 smulh z0.s, z0.s, z0.s
72 smulh z0.d, z0.d, z0.d
73 splice z17.b, p5, { z21.b, z22.b }
74 splice z0.b, p0, { z0.b, z1.b }
75 splice z0.h, p0, { z0.h, z1.h }
76 splice z0.s, p0, { z0.s, z1.s }
77 splice z0.d, p0, { z0.d, z1.d }
78 splice z0.b, p0, { z31.b, z0.b }
79 sqadd z17.b, p5/m, z17.b, z21.b
80 sqadd z0.b, p0/m, z0.b, z0.b
81 sqadd z0.h, p0/m, z0.h, z0.h
82 sqadd z0.s, p0/m, z0.s, z0.s
83 sqadd z0.d, p0/m, z0.d, z0.d
84 sqsub z17.b, p5/m, z17.b, z21.b
85 sqsub z0.b, p0/m, z0.b, z0.b
86 sqsub z0.h, p0/m, z0.h, z0.h
87 sqsub z0.s, p0/m, z0.s, z0.s
88 sqsub z0.d, p0/m, z0.d, z0.d
89 stnt1b { z17.s }, p5, [z21.s, x27]
90 stnt1b { z0.s }, p0, [z0.s, x0]
91 stnt1b { z0.s }, p0, [z0.s]
92 stnt1b { z0.s }, p0, [z0.s, xzr]
93 stnt1b { z17.d }, p5, [z21.d, x27]
94 stnt1b { z0.d }, p0, [z0.d, x0]
95 stnt1b { z0.d }, p0, [z0.d]
96 stnt1b { z0.d }, p0, [z0.d, xzr]
97 stnt1d { z17.d }, p5, [z21.d, x27]
98 stnt1d { z0.d }, p0, [z0.d, x0]
99 stnt1d { z0.d }, p0, [z0.d]
100 stnt1d { z0.d }, p0, [z0.d, xzr]
101 stnt1h { z17.s }, p5, [z21.s, x27]
102 stnt1h { z0.s }, p0, [z0.s, x0]
103 stnt1h { z0.s }, p0, [z0.s]
104 stnt1h { z0.s }, p0, [z0.s, xzr]
105 stnt1h { z17.d }, p5, [z21.d, x27]
106 stnt1h { z0.d }, p0, [z0.d, x0]
107 stnt1h { z0.d }, p0, [z0.d]
108 stnt1h { z0.d }, p0, [z0.d, xzr]
109 stnt1w { z17.s }, p5, [z21.s, x27]
110 stnt1w { z0.s }, p0, [z0.s, x0]
111 stnt1w { z0.s }, p0, [z0.s]
112 stnt1w { z0.s }, p0, [z0.s, xzr]
113 stnt1w { z17.d }, p5, [z21.d, x27]
114 stnt1w { z0.d }, p0, [z0.d, x0]
115 stnt1w { z0.d }, p0, [z0.d]
116 stnt1w { z0.d }, p0, [z0.d, xzr]
117 tbl z17.b, { z21.b, z22.b }, z27.b
118 tbl z0.b, { z0.b, z1.b }, z0.b
119 tbl z0.h, { z0.h, z1.h }, z0.h
120 tbl z0.s, { z0.s, z1.s }, z0.s
121 tbl z0.d, { z0.d, z1.d }, z0.d
122 tbl z0.b, { z31.b, z0.b }, z0.b
123 umulh z17.b, z21.b, z27.b
124 umulh z0.b, z0.b, z0.b
125 umulh z0.h, z0.h, z0.h
126 umulh z0.s, z0.s, z0.s
127 umulh z0.d, z0.d, z0.d
128 uqadd z17.b, p5/m, z17.b, z21.b
129 uqadd z0.b, p0/m, z0.b, z0.b
130 uqadd z0.h, p0/m, z0.h, z0.h
131 uqadd z0.s, p0/m, z0.s, z0.s
132 uqadd z0.d, p0/m, z0.d, z0.d
133 uqsub z17.b, p5/m, z17.b, z21.b
134 uqsub z0.b, p0/m, z0.b, z0.b
135 uqsub z0.h, p0/m, z0.h, z0.h
136 uqsub z0.s, p0/m, z0.s, z0.s
137 uqsub z0.d, p0/m, z0.d, z0.d
This page took 0.033679 seconds and 4 git commands to generate.