56bda5cf8779e8c8331a641006c020fba7c2098a
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-optimize-3.s
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
22
23 vandnpd %zmm1, %zmm1, %zmm5
24
25 vmovdqa32 %xmm1, %xmm2
26 vmovdqa64 %xmm1, %xmm2
27 vmovdqu8 %xmm1, %xmm2
28 vmovdqu16 %xmm1, %xmm2
29 vmovdqu32 %xmm1, %xmm2
30 vmovdqu64 %xmm1, %xmm2
31
32 vmovdqa32 %xmm11, %xmm12
33 vmovdqa64 %xmm11, %xmm12
34 vmovdqu8 %xmm11, %xmm12
35 vmovdqu16 %xmm11, %xmm12
36 vmovdqu32 %xmm11, %xmm12
37 vmovdqu64 %xmm11, %xmm12
38
39 vmovdqa32 127(%rax), %xmm2
40 vmovdqa64 127(%rax), %xmm2
41 vmovdqu8 127(%rax), %xmm2
42 vmovdqu16 127(%rax), %xmm2
43 vmovdqu32 127(%rax), %xmm2
44 vmovdqu64 127(%rax), %xmm2
45
46 vmovdqa32 %xmm1, 128(%rax)
47 vmovdqa64 %xmm1, 128(%rax)
48 vmovdqu8 %xmm1, 128(%rax)
49 vmovdqu16 %xmm1, 128(%rax)
50 vmovdqu32 %xmm1, 128(%rax)
51 vmovdqu64 %xmm1, 128(%rax)
52
53 vmovdqa32 %ymm1, %ymm2
54 vmovdqa64 %ymm1, %ymm2
55 vmovdqu8 %ymm1, %ymm2
56 vmovdqu16 %ymm1, %ymm2
57 vmovdqu32 %ymm1, %ymm2
58 vmovdqu64 %ymm1, %ymm2
59
60 vmovdqa32 %ymm11, %ymm12
61 vmovdqa64 %ymm11, %ymm12
62 vmovdqu8 %ymm11, %ymm12
63 vmovdqu16 %ymm11, %ymm12
64 vmovdqu32 %ymm11, %ymm12
65 vmovdqu64 %ymm11, %ymm12
66
67 vmovdqa32 127(%rax), %ymm2
68 vmovdqa64 127(%rax), %ymm2
69 vmovdqu8 127(%rax), %ymm2
70 vmovdqu16 127(%rax), %ymm2
71 vmovdqu32 127(%rax), %ymm2
72 vmovdqu64 127(%rax), %ymm2
73
74 vmovdqa32 %ymm1, 128(%rax)
75 vmovdqa64 %ymm1, 128(%rax)
76 vmovdqu8 %ymm1, 128(%rax)
77 vmovdqu16 %ymm1, 128(%rax)
78 vmovdqu32 %ymm1, 128(%rax)
79 vmovdqu64 %ymm1, 128(%rax)
80
81 vmovdqa32 %xmm21, %xmm2
82 vmovdqa64 %xmm21, %xmm2
83 vmovdqu8 %xmm21, %xmm2
84 vmovdqu16 %xmm21, %xmm2
85 vmovdqu32 %xmm21, %xmm2
86 vmovdqu64 %xmm21, %xmm2
87
88 vmovdqa32 %zmm1, %zmm2
89 vmovdqa64 %zmm1, %zmm2
90 vmovdqu8 %zmm1, %zmm2
91 vmovdqu16 %zmm1, %zmm2
92 vmovdqu32 %zmm1, %zmm2
93 vmovdqu64 %zmm1, %zmm2
94
95 {evex} vmovdqa32 %ymm1, %ymm2
96 {evex} vmovdqa64 %ymm1, %ymm2
97 {evex} vmovdqu8 %xmm1, %xmm2
98 {evex} vmovdqu16 %xmm1, %xmm2
99 {evex} vmovdqu32 %xmm1, %xmm2
100 {evex} vmovdqu64 %xmm1, %xmm2
101
102 vmovdqa32 %ymm1, %ymm2{%k1}
103 vmovdqa64 %ymm1, %ymm2{%k1}
104 vmovdqu8 %xmm1, %xmm2{%k1}
105 vmovdqu16 %xmm1, %xmm2{%k1}
106 vmovdqu32 %xmm1, %xmm2{%k1}
107 vmovdqu64 %xmm1, %xmm2{%k1}
108
109 vmovdqa32 (%rax), %ymm2{%k1}
110 vmovdqa64 (%rax), %ymm2{%k1}
111 vmovdqu8 (%rax), %xmm2{%k1}
112 vmovdqu16 (%rax), %xmm2{%k1}
113 vmovdqu32 (%rax), %xmm2{%k1}
114 vmovdqu64 (%rax), %xmm2{%k1}
115
116 vmovdqa32 %ymm1, (%rax){%k1}
117 vmovdqa64 %ymm1, (%rax){%k1}
118 vmovdqu8 %xmm1, (%rax){%k1}
119 vmovdqu16 %xmm1, (%rax){%k1}
120 vmovdqu32 %xmm1, (%rax){%k1}
121 vmovdqu64 %xmm1, (%rax){%k1}
122
123 vmovdqa32 %xmm1, %xmm2{%k1}{z}
124 vmovdqa64 %xmm1, %xmm2{%k1}{z}
125 vmovdqu8 %xmm1, %xmm2{%k1}{z}
126 vmovdqu16 %xmm1, %xmm2{%k1}{z}
127 vmovdqu32 %xmm1, %xmm2{%k1}{z}
128 vmovdqu64 %xmm1, %xmm2{%k1}{z}
129
130 vpandd %xmm2, %xmm3, %xmm4
131 vpandq %xmm12, %xmm3, %xmm4
132 vpandnd %xmm2, %xmm13, %xmm4
133 vpandnq %xmm2, %xmm3, %xmm14
134 vpord %xmm2, %xmm3, %xmm4
135 vporq %xmm12, %xmm3, %xmm4
136 vpxord %xmm2, %xmm13, %xmm4
137 vpxorq %xmm2, %xmm3, %xmm14
138
139 vpandd %ymm2, %ymm3, %ymm4
140 vpandq %ymm12, %ymm3, %ymm4
141 vpandnd %ymm2, %ymm13, %ymm4
142 vpandnq %ymm2, %ymm3, %ymm14
143 vpord %ymm2, %ymm3, %ymm4
144 vporq %ymm12, %ymm3, %ymm4
145 vpxord %ymm2, %ymm13, %ymm4
146 vpxorq %ymm2, %ymm3, %ymm14
147
148 vpandd 112(%rax), %xmm2, %xmm3
149 vpandq 112(%rax), %xmm2, %xmm3
150 vpandnd 112(%rax), %xmm2, %xmm3
151 vpandnq 112(%rax), %xmm2, %xmm3
152 vpord 112(%rax), %xmm2, %xmm3
153 vporq 112(%rax), %xmm2, %xmm3
154 vpxord 112(%rax), %xmm2, %xmm3
155 vpxorq 112(%rax), %xmm2, %xmm3
156
157 vpandd 128(%rax), %xmm2, %xmm3
158 vpandq 128(%rax), %xmm2, %xmm3
159 vpandnd 128(%rax), %xmm2, %xmm3
160 vpandnq 128(%rax), %xmm2, %xmm3
161 vpord 128(%rax), %xmm2, %xmm3
162 vporq 128(%rax), %xmm2, %xmm3
163 vpxord 128(%rax), %xmm2, %xmm3
164 vpxorq 128(%rax), %xmm2, %xmm3
165
166 vpandd 96(%rax), %ymm2, %ymm3
167 vpandq 96(%rax), %ymm2, %ymm3
168 vpandnd 96(%rax), %ymm2, %ymm3
169 vpandnq 96(%rax), %ymm2, %ymm3
170 vpord 96(%rax), %ymm2, %ymm3
171 vporq 96(%rax), %ymm2, %ymm3
172 vpxord 96(%rax), %ymm2, %ymm3
173 vpxorq 96(%rax), %ymm2, %ymm3
174
175 vpandd 128(%rax), %ymm2, %ymm3
176 vpandq 128(%rax), %ymm2, %ymm3
177 vpandnd 128(%rax), %ymm2, %ymm3
178 vpandnq 128(%rax), %ymm2, %ymm3
179 vpord 128(%rax), %ymm2, %ymm3
180 vporq 128(%rax), %ymm2, %ymm3
181 vpxord 128(%rax), %ymm2, %ymm3
182 vpxorq 128(%rax), %ymm2, %ymm3
183
184 vpandd %xmm22, %xmm23, %xmm24
185 vpandq %ymm22, %ymm3, %ymm4
186 vpandnd %ymm2, %ymm23, %ymm4
187 vpandnq %xmm2, %xmm3, %xmm24
188 vpord %xmm22, %xmm23, %xmm24
189 vporq %ymm22, %ymm3, %ymm4
190 vpxord %ymm2, %ymm23, %ymm4
191 vpxorq %xmm2, %xmm3, %xmm24
192
193 vpandd %xmm2, %xmm3, %xmm4{%k5}
194 vpandq %ymm12, %ymm3, %ymm4{%k5}
195 vpandnd %ymm2, %ymm13, %ymm4{%k5}
196 vpandnq %xmm2, %xmm3, %xmm14{%k5}
197 vpord %xmm2, %xmm3, %xmm4{%k5}
198 vporq %ymm12, %ymm3, %ymm4{%k5}
199 vpxord %ymm2, %ymm13, %ymm4{%k5}
200 vpxorq %xmm2, %xmm3, %xmm14{%k5}
201
202 vpandd (%rax){1to8}, %ymm2, %ymm3
203 vpandq (%rax){1to2}, %xmm2, %xmm3
204 vpandnd (%rax){1to4}, %xmm2, %xmm3
205 vpandnq (%rax){1to4}, %ymm2, %ymm3
206 vpord (%rax){1to8}, %ymm2, %ymm3
207 vporq (%rax){1to2}, %xmm2, %xmm3
208 vpxord (%rax){1to4}, %xmm2, %xmm3
209 vpxorq (%rax){1to4}, %ymm2, %ymm3
This page took 0.039334 seconds and 3 git commands to generate.