i386: Also check R12-R15 registers when optimizing testq to testb
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-optimize-3.s
CommitLineData
b6f8c7c4
L
1# Check 64bit instructions with optimized encoding
2
3 .allow_index_reg
4 .text
5_start:
6 testq $0x7f, %rax
7 testl $0x7f, %eax
8 testw $0x7f, %ax
9 testb $0x7f, %al
10 test $0x7f, %rbx
11 test $0x7f, %ebx
12 test $0x7f, %bx
13 test $0x7f, %bl
14 test $0x7f, %rdi
15 test $0x7f, %edi
16 test $0x7f, %di
17 test $0x7f, %dil
18 test $0x7f, %r9
19 test $0x7f, %r9d
20 test $0x7f, %r9w
21 test $0x7f, %r9b
ac0ab184
L
22 test $0x7f, %r12
23 test $0x7f, %r12d
24 test $0x7f, %r12w
25 test $0x7f, %r12b
41fd2579 26
5641ec01
JB
27 and %cl, %cl
28 and %dx, %dx
29 and %ebx, %ebx
30 and %rsp, %rsp
31
32 or %bpl, %bpl
33 or %si, %si
34 or %edi, %edi
35 or %r8, %r8
36
41fd2579 37 vandnpd %zmm1, %zmm1, %zmm5
97ed31ae
L
38
39 vmovdqa32 %xmm1, %xmm2
40 vmovdqa64 %xmm1, %xmm2
41 vmovdqu8 %xmm1, %xmm2
42 vmovdqu16 %xmm1, %xmm2
43 vmovdqu32 %xmm1, %xmm2
44 vmovdqu64 %xmm1, %xmm2
45
46 vmovdqa32 %xmm11, %xmm12
47 vmovdqa64 %xmm11, %xmm12
48 vmovdqu8 %xmm11, %xmm12
49 vmovdqu16 %xmm11, %xmm12
50 vmovdqu32 %xmm11, %xmm12
51 vmovdqu64 %xmm11, %xmm12
52
53 vmovdqa32 127(%rax), %xmm2
54 vmovdqa64 127(%rax), %xmm2
55 vmovdqu8 127(%rax), %xmm2
56 vmovdqu16 127(%rax), %xmm2
57 vmovdqu32 127(%rax), %xmm2
58 vmovdqu64 127(%rax), %xmm2
59
60 vmovdqa32 %xmm1, 128(%rax)
61 vmovdqa64 %xmm1, 128(%rax)
62 vmovdqu8 %xmm1, 128(%rax)
63 vmovdqu16 %xmm1, 128(%rax)
64 vmovdqu32 %xmm1, 128(%rax)
65 vmovdqu64 %xmm1, 128(%rax)
66
67 vmovdqa32 %ymm1, %ymm2
68 vmovdqa64 %ymm1, %ymm2
69 vmovdqu8 %ymm1, %ymm2
70 vmovdqu16 %ymm1, %ymm2
71 vmovdqu32 %ymm1, %ymm2
72 vmovdqu64 %ymm1, %ymm2
73
74 vmovdqa32 %ymm11, %ymm12
75 vmovdqa64 %ymm11, %ymm12
76 vmovdqu8 %ymm11, %ymm12
77 vmovdqu16 %ymm11, %ymm12
78 vmovdqu32 %ymm11, %ymm12
79 vmovdqu64 %ymm11, %ymm12
80
81 vmovdqa32 127(%rax), %ymm2
82 vmovdqa64 127(%rax), %ymm2
83 vmovdqu8 127(%rax), %ymm2
84 vmovdqu16 127(%rax), %ymm2
85 vmovdqu32 127(%rax), %ymm2
86 vmovdqu64 127(%rax), %ymm2
87
88 vmovdqa32 %ymm1, 128(%rax)
89 vmovdqa64 %ymm1, 128(%rax)
90 vmovdqu8 %ymm1, 128(%rax)
91 vmovdqu16 %ymm1, 128(%rax)
92 vmovdqu32 %ymm1, 128(%rax)
93 vmovdqu64 %ymm1, 128(%rax)
94
95 vmovdqa32 %xmm21, %xmm2
96 vmovdqa64 %xmm21, %xmm2
97 vmovdqu8 %xmm21, %xmm2
98 vmovdqu16 %xmm21, %xmm2
99 vmovdqu32 %xmm21, %xmm2
100 vmovdqu64 %xmm21, %xmm2
101
102 vmovdqa32 %zmm1, %zmm2
103 vmovdqa64 %zmm1, %zmm2
104 vmovdqu8 %zmm1, %zmm2
105 vmovdqu16 %zmm1, %zmm2
106 vmovdqu32 %zmm1, %zmm2
107 vmovdqu64 %zmm1, %zmm2
108
109 {evex} vmovdqa32 %ymm1, %ymm2
110 {evex} vmovdqa64 %ymm1, %ymm2
111 {evex} vmovdqu8 %xmm1, %xmm2
112 {evex} vmovdqu16 %xmm1, %xmm2
113 {evex} vmovdqu32 %xmm1, %xmm2
114 {evex} vmovdqu64 %xmm1, %xmm2
115
116 vmovdqa32 %ymm1, %ymm2{%k1}
117 vmovdqa64 %ymm1, %ymm2{%k1}
118 vmovdqu8 %xmm1, %xmm2{%k1}
119 vmovdqu16 %xmm1, %xmm2{%k1}
120 vmovdqu32 %xmm1, %xmm2{%k1}
121 vmovdqu64 %xmm1, %xmm2{%k1}
122
123 vmovdqa32 (%rax), %ymm2{%k1}
124 vmovdqa64 (%rax), %ymm2{%k1}
125 vmovdqu8 (%rax), %xmm2{%k1}
126 vmovdqu16 (%rax), %xmm2{%k1}
127 vmovdqu32 (%rax), %xmm2{%k1}
128 vmovdqu64 (%rax), %xmm2{%k1}
129
130 vmovdqa32 %ymm1, (%rax){%k1}
131 vmovdqa64 %ymm1, (%rax){%k1}
132 vmovdqu8 %xmm1, (%rax){%k1}
133 vmovdqu16 %xmm1, (%rax){%k1}
134 vmovdqu32 %xmm1, (%rax){%k1}
135 vmovdqu64 %xmm1, (%rax){%k1}
136
137 vmovdqa32 %xmm1, %xmm2{%k1}{z}
138 vmovdqa64 %xmm1, %xmm2{%k1}{z}
139 vmovdqu8 %xmm1, %xmm2{%k1}{z}
140 vmovdqu16 %xmm1, %xmm2{%k1}{z}
141 vmovdqu32 %xmm1, %xmm2{%k1}{z}
142 vmovdqu64 %xmm1, %xmm2{%k1}{z}
a0a1771e
JB
143
144 vpandd %xmm2, %xmm3, %xmm4
145 vpandq %xmm12, %xmm3, %xmm4
146 vpandnd %xmm2, %xmm13, %xmm4
147 vpandnq %xmm2, %xmm3, %xmm14
148 vpord %xmm2, %xmm3, %xmm4
149 vporq %xmm12, %xmm3, %xmm4
150 vpxord %xmm2, %xmm13, %xmm4
151 vpxorq %xmm2, %xmm3, %xmm14
152
153 vpandd %ymm2, %ymm3, %ymm4
154 vpandq %ymm12, %ymm3, %ymm4
155 vpandnd %ymm2, %ymm13, %ymm4
156 vpandnq %ymm2, %ymm3, %ymm14
157 vpord %ymm2, %ymm3, %ymm4
158 vporq %ymm12, %ymm3, %ymm4
159 vpxord %ymm2, %ymm13, %ymm4
160 vpxorq %ymm2, %ymm3, %ymm14
161
162 vpandd 112(%rax), %xmm2, %xmm3
163 vpandq 112(%rax), %xmm2, %xmm3
164 vpandnd 112(%rax), %xmm2, %xmm3
165 vpandnq 112(%rax), %xmm2, %xmm3
166 vpord 112(%rax), %xmm2, %xmm3
167 vporq 112(%rax), %xmm2, %xmm3
168 vpxord 112(%rax), %xmm2, %xmm3
169 vpxorq 112(%rax), %xmm2, %xmm3
170
171 vpandd 128(%rax), %xmm2, %xmm3
172 vpandq 128(%rax), %xmm2, %xmm3
173 vpandnd 128(%rax), %xmm2, %xmm3
174 vpandnq 128(%rax), %xmm2, %xmm3
175 vpord 128(%rax), %xmm2, %xmm3
176 vporq 128(%rax), %xmm2, %xmm3
177 vpxord 128(%rax), %xmm2, %xmm3
178 vpxorq 128(%rax), %xmm2, %xmm3
179
180 vpandd 96(%rax), %ymm2, %ymm3
181 vpandq 96(%rax), %ymm2, %ymm3
182 vpandnd 96(%rax), %ymm2, %ymm3
183 vpandnq 96(%rax), %ymm2, %ymm3
184 vpord 96(%rax), %ymm2, %ymm3
185 vporq 96(%rax), %ymm2, %ymm3
186 vpxord 96(%rax), %ymm2, %ymm3
187 vpxorq 96(%rax), %ymm2, %ymm3
188
189 vpandd 128(%rax), %ymm2, %ymm3
190 vpandq 128(%rax), %ymm2, %ymm3
191 vpandnd 128(%rax), %ymm2, %ymm3
192 vpandnq 128(%rax), %ymm2, %ymm3
193 vpord 128(%rax), %ymm2, %ymm3
194 vporq 128(%rax), %ymm2, %ymm3
195 vpxord 128(%rax), %ymm2, %ymm3
196 vpxorq 128(%rax), %ymm2, %ymm3
197
198 vpandd %xmm22, %xmm23, %xmm24
199 vpandq %ymm22, %ymm3, %ymm4
200 vpandnd %ymm2, %ymm23, %ymm4
201 vpandnq %xmm2, %xmm3, %xmm24
202 vpord %xmm22, %xmm23, %xmm24
203 vporq %ymm22, %ymm3, %ymm4
204 vpxord %ymm2, %ymm23, %ymm4
205 vpxorq %xmm2, %xmm3, %xmm24
206
207 vpandd %xmm2, %xmm3, %xmm4{%k5}
208 vpandq %ymm12, %ymm3, %ymm4{%k5}
209 vpandnd %ymm2, %ymm13, %ymm4{%k5}
210 vpandnq %xmm2, %xmm3, %xmm14{%k5}
211 vpord %xmm2, %xmm3, %xmm4{%k5}
212 vporq %ymm12, %ymm3, %ymm4{%k5}
213 vpxord %ymm2, %ymm13, %ymm4{%k5}
214 vpxorq %xmm2, %xmm3, %xmm14{%k5}
215
216 vpandd (%rax){1to8}, %ymm2, %ymm3
217 vpandq (%rax){1to2}, %xmm2, %xmm3
218 vpandnd (%rax){1to4}, %xmm2, %xmm3
219 vpandnq (%rax){1to4}, %ymm2, %ymm3
220 vpord (%rax){1to8}, %ymm2, %ymm3
221 vporq (%rax){1to2}, %xmm2, %xmm3
222 vpxord (%rax){1to4}, %xmm2, %xmm3
223 vpxorq (%rax){1to4}, %ymm2, %ymm3
This page took 0.120934 seconds and 4 git commands to generate.