Commit | Line | Data |
---|---|---|
e111c7d1 MM |
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 |