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