~ubuntu-branches/ubuntu/utopic/binutils-arm64-cross/utopic

« back to all changes in this revision

Viewing changes to binutils-2.23.52.20130611/gas/testsuite/gas/i386/x86-64-avx2.s

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-06-20 17:38:09 UTC
  • Revision ID: package-import@ubuntu.com-20130620173809-app8lzgvymy5fg6c
Tags: 0.7
Build-depend on binutils-source (>= 2.23.52.20130620-1~).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Check x86-64 AVX2 instructions
 
2
 
 
3
        .allow_index_reg
 
4
        .text
 
5
_start:
 
6
 
 
7
# Tests for op mem256, mask,  ymm
 
8
# Tests for op ymm, mask, mem256
 
9
        vpmaskmovd (%rcx),%ymm4,%ymm6
 
10
        vpmaskmovd %ymm4,%ymm6,(%rcx)
 
11
        vpmaskmovq (%rcx),%ymm4,%ymm6
 
12
        vpmaskmovq %ymm4,%ymm6,(%rcx)
 
13
 
 
14
# Tests for op imm8, ymm/mem256, ymm
 
15
        vpermpd $7,%ymm6,%ymm2
 
16
        vpermpd $7,(%rcx),%ymm6
 
17
        vpermq $7,%ymm6,%ymm2
 
18
        vpermq $7,(%rcx),%ymm6
 
19
 
 
20
# Tests for op ymm/mem256, ymm, ymm
 
21
        vpermd %ymm4,%ymm6,%ymm2
 
22
        vpermd (%rcx),%ymm6,%ymm2
 
23
        vpermps %ymm4,%ymm6,%ymm2
 
24
        vpermps (%rcx),%ymm6,%ymm2
 
25
        vpsllvd %ymm4,%ymm6,%ymm2
 
26
        vpsllvd (%rcx),%ymm6,%ymm2
 
27
        vpsllvq %ymm4,%ymm6,%ymm2
 
28
        vpsllvq (%rcx),%ymm6,%ymm2
 
29
        vpsravd %ymm4,%ymm6,%ymm2
 
30
        vpsravd (%rcx),%ymm6,%ymm2
 
31
        vpsrlvd %ymm4,%ymm6,%ymm2
 
32
        vpsrlvd (%rcx),%ymm6,%ymm2
 
33
        vpsrlvq %ymm4,%ymm6,%ymm2
 
34
        vpsrlvq (%rcx),%ymm6,%ymm2
 
35
 
 
36
# Tests for op mem256, ymm
 
37
        vmovntdqa (%rcx),%ymm4
 
38
 
 
39
# Tests for op ymm, xmm
 
40
        vbroadcastsd %xmm4,%ymm6
 
41
        vbroadcastss %xmm4,%ymm6
 
42
 
 
43
# Tests for op imm8, ymm/mem256, ymm, ymm
 
44
        vpblendd $7,%ymm4,%ymm6,%ymm2
 
45
        vpblendd $7,(%rcx),%ymm6,%ymm2
 
46
        vperm2i128 $7,%ymm4,%ymm6,%ymm2
 
47
        vperm2i128 $7,(%rcx),%ymm6,%ymm2
 
48
 
 
49
# Tests for op imm8, xmm/mem128, ymm, ymm
 
50
        vinserti128 $7,%xmm4,%ymm4,%ymm6
 
51
        vinserti128 $7,(%rcx),%ymm4,%ymm6
 
52
 
 
53
# Tests for op mem128, ymm
 
54
        vbroadcasti128 (%rcx),%ymm4
 
55
 
 
56
# Tests for op xmm/mem128, xmm, xmm
 
57
        vpsllvd %xmm4,%xmm6,%xmm2
 
58
        vpsllvd (%rcx),%xmm6,%xmm7
 
59
        vpsllvq %xmm4,%xmm6,%xmm2
 
60
        vpsllvq (%rcx),%xmm6,%xmm7
 
61
        vpsravd %xmm4,%xmm6,%xmm2
 
62
        vpsravd (%rcx),%xmm6,%xmm7
 
63
        vpsrlvd %xmm4,%xmm6,%xmm2
 
64
        vpsrlvd (%rcx),%xmm6,%xmm7
 
65
        vpsrlvq %xmm4,%xmm6,%xmm2
 
66
        vpsrlvq (%rcx),%xmm6,%xmm7
 
67
 
 
68
# Tests for op mem128, xmm, xmm
 
69
        vpmaskmovd (%rcx),%xmm4,%xmm6
 
70
        vpmaskmovq (%rcx),%xmm4,%xmm6
 
71
 
 
72
# Tests for op imm8, ymm, xmm128/mem
 
73
        vextracti128 $7,%ymm4,%xmm6
 
74
        vextracti128 $7,%ymm4,(%rcx)
 
75
 
 
76
# Tests for op xmm, xmm, mem128
 
77
        vpmaskmovd %xmm4,%xmm6,(%rcx)
 
78
        vpmaskmovq %xmm4,%xmm6,(%rcx)
 
79
 
 
80
# Tests for op imm8, xmm/mem128, xmm, xmm
 
81
        vpblendd $7,%xmm4,%xmm6,%xmm2
 
82
        vpblendd $7,(%rcx),%xmm6,%xmm2
 
83
 
 
84
# Tests for op xmm/mem64, xmm
 
85
        vpbroadcastq %xmm4,%xmm6
 
86
        vpbroadcastq (%rcx),%xmm4
 
87
 
 
88
# Tests for op xmm/mem64, ymm
 
89
        vpbroadcastq %xmm4,%ymm6
 
90
        vpbroadcastq (%rcx),%ymm4
 
91
 
 
92
# Tests for op xmm/mem32, ymm
 
93
        vpbroadcastd %xmm4,%ymm4
 
94
        vpbroadcastd (%rcx),%ymm4
 
95
 
 
96
# Tests for op xmm/mem32, xmm
 
97
        vpbroadcastd %xmm4,%xmm6
 
98
        vpbroadcastd (%rcx),%xmm4
 
99
 
 
100
# Tests for op xmm/m16, xmm
 
101
        vpbroadcastw %xmm4,%xmm6
 
102
        vpbroadcastw (%rcx),%xmm4
 
103
 
 
104
# Tests for op xmm/m16, ymm
 
105
        vpbroadcastw %xmm4,%ymm6
 
106
        vpbroadcastw (%rcx),%ymm4
 
107
 
 
108
# Tests for op xmm/m8, xmm
 
109
        vpbroadcastb %xmm4,%xmm6
 
110
        vpbroadcastb (%rcx),%xmm4
 
111
 
 
112
# Tests for op xmm/m8, ymm
 
113
        vpbroadcastb %xmm4,%ymm6
 
114
        vpbroadcastb (%rcx),%ymm4
 
115
 
 
116
# Tests for op xmm, xmm
 
117
        vbroadcastss %xmm4,%xmm6
 
118
 
 
119
        .intel_syntax noprefix
 
120
 
 
121
# Tests for op mem256, mask,  ymm
 
122
# Tests for op ymm, mask, mem256
 
123
        vpmaskmovd ymm6,ymm4,YMMWORD PTR [rcx]
 
124
        vpmaskmovd YMMWORD PTR [rcx],ymm6,ymm4
 
125
        vpmaskmovd ymm6,ymm4,[rcx]
 
126
        vpmaskmovd [rcx],ymm6,ymm4
 
127
        vpmaskmovq ymm6,ymm4,YMMWORD PTR [rcx]
 
128
        vpmaskmovq YMMWORD PTR [rcx],ymm6,ymm4
 
129
        vpmaskmovq ymm6,ymm4,[rcx]
 
130
        vpmaskmovq [rcx],ymm6,ymm4
 
131
 
 
132
# Tests for op imm8, ymm/mem256, ymm
 
133
        vpermpd ymm2,ymm6,7
 
134
        vpermpd ymm6,YMMWORD PTR [rcx],7
 
135
        vpermpd ymm6,[rcx],7
 
136
        vpermq ymm2,ymm6,7
 
137
        vpermq ymm6,YMMWORD PTR [rcx],7
 
138
        vpermq ymm6,[rcx],7
 
139
 
 
140
# Tests for op ymm/mem256, ymm, ymm
 
141
        vpermd ymm2,ymm6,ymm4
 
142
        vpermd ymm2,ymm6,YMMWORD PTR [rcx]
 
143
        vpermd ymm2,ymm6,[rcx]
 
144
        vpermps ymm2,ymm6,ymm4
 
145
        vpermps ymm2,ymm6,YMMWORD PTR [rcx]
 
146
        vpermps ymm2,ymm6,[rcx]
 
147
        vpsllvd ymm2,ymm6,ymm4
 
148
        vpsllvd ymm2,ymm6,YMMWORD PTR [rcx]
 
149
        vpsllvd ymm2,ymm6,[rcx]
 
150
        vpsllvq ymm2,ymm6,ymm4
 
151
        vpsllvq ymm2,ymm6,YMMWORD PTR [rcx]
 
152
        vpsllvq ymm2,ymm6,[rcx]
 
153
        vpsravd ymm2,ymm6,ymm4
 
154
        vpsravd ymm2,ymm6,YMMWORD PTR [rcx]
 
155
        vpsravd ymm2,ymm6,[rcx]
 
156
        vpsrlvd ymm2,ymm6,ymm4
 
157
        vpsrlvd ymm2,ymm6,YMMWORD PTR [rcx]
 
158
        vpsrlvd ymm2,ymm6,[rcx]
 
159
        vpsrlvq ymm2,ymm6,ymm4
 
160
        vpsrlvq ymm2,ymm6,YMMWORD PTR [rcx]
 
161
        vpsrlvq ymm2,ymm6,[rcx]
 
162
 
 
163
# Tests for op mem256, ymm
 
164
        vmovntdqa ymm4,YMMWORD PTR [rcx]
 
165
        vmovntdqa ymm4,[rcx]
 
166
 
 
167
# Tests for op ymm, xmm
 
168
        vbroadcastsd ymm6,xmm4
 
169
        vbroadcastss ymm6,xmm4
 
170
 
 
171
# Tests for op imm8, ymm/mem256, ymm, ymm
 
172
        vpblendd ymm2,ymm6,ymm4,7
 
173
        vpblendd ymm2,ymm6,YMMWORD PTR [rcx],7
 
174
        vpblendd ymm2,ymm6,[rcx],7
 
175
        vperm2i128 ymm2,ymm6,ymm4,7
 
176
        vperm2i128 ymm2,ymm6,YMMWORD PTR [rcx],7
 
177
        vperm2i128 ymm2,ymm6,[rcx],7
 
178
 
 
179
# Tests for op imm8, xmm/mem128, ymm, ymm
 
180
        vinserti128 ymm6,ymm4,xmm4,7
 
181
        vinserti128 ymm6,ymm4,XMMWORD PTR [rcx],7
 
182
        vinserti128 ymm6,ymm4,[rcx],7
 
183
 
 
184
# Tests for op mem128, ymm
 
185
        vbroadcasti128 ymm4,XMMWORD PTR [rcx]
 
186
        vbroadcasti128 ymm4,[rcx]
 
187
 
 
188
# Tests for op xmm/mem128, xmm, xmm
 
189
        vpsllvd xmm2,xmm6,xmm4
 
190
        vpsllvd xmm7,xmm6,XMMWORD PTR [rcx]
 
191
        vpsllvd xmm7,xmm6,[rcx]
 
192
        vpsllvq xmm2,xmm6,xmm4
 
193
        vpsllvq xmm7,xmm6,XMMWORD PTR [rcx]
 
194
        vpsllvq xmm7,xmm6,[rcx]
 
195
        vpsravd xmm2,xmm6,xmm4
 
196
        vpsravd xmm7,xmm6,XMMWORD PTR [rcx]
 
197
        vpsravd xmm7,xmm6,[rcx]
 
198
        vpsrlvd xmm2,xmm6,xmm4
 
199
        vpsrlvd xmm7,xmm6,XMMWORD PTR [rcx]
 
200
        vpsrlvd xmm7,xmm6,[rcx]
 
201
        vpsrlvq xmm2,xmm6,xmm4
 
202
        vpsrlvq xmm7,xmm6,XMMWORD PTR [rcx]
 
203
        vpsrlvq xmm7,xmm6,[rcx]
 
204
 
 
205
# Tests for op mem128, xmm, xmm
 
206
        vpmaskmovd xmm6,xmm4,XMMWORD PTR [rcx]
 
207
        vpmaskmovd xmm6,xmm4,[rcx]
 
208
        vpmaskmovq xmm6,xmm4,XMMWORD PTR [rcx]
 
209
        vpmaskmovq xmm6,xmm4,[rcx]
 
210
 
 
211
# Tests for op imm8, ymm, xmm128/mem
 
212
        vextracti128 xmm6,ymm4,7
 
213
        vextracti128 XMMWORD PTR [rcx],ymm4,7
 
214
        vextracti128 [rcx],ymm4,7
 
215
 
 
216
# Tests for op xmm, xmm, mem128
 
217
        vpmaskmovd XMMWORD PTR [rcx],xmm6,xmm4
 
218
        vpmaskmovd [rcx],xmm6,xmm4
 
219
        vpmaskmovq XMMWORD PTR [rcx],xmm6,xmm4
 
220
        vpmaskmovq [rcx],xmm6,xmm4
 
221
 
 
222
# Tests for op imm8, xmm/mem128, xmm, xmm
 
223
        vpblendd xmm2,xmm6,xmm4,7
 
224
        vpblendd xmm2,xmm6,XMMWORD PTR [rcx],7
 
225
        vpblendd xmm2,xmm6,[rcx],7
 
226
 
 
227
# Tests for op xmm/mem64, xmm
 
228
        vpbroadcastq xmm6,xmm4
 
229
        vpbroadcastq xmm4,QWORD PTR [rcx]
 
230
        vpbroadcastq xmm4,[rcx]
 
231
 
 
232
# Tests for op xmm/mem64, ymm
 
233
        vpbroadcastq ymm6,xmm4
 
234
        vpbroadcastq ymm4,QWORD PTR [rcx]
 
235
        vpbroadcastq ymm4,[rcx]
 
236
 
 
237
# Tests for op xmm/mem32, ymm
 
238
        vpbroadcastd ymm4,xmm4
 
239
        vpbroadcastd ymm4,DWORD PTR [rcx]
 
240
        vpbroadcastd ymm4,[rcx]
 
241
 
 
242
# Tests for op xmm/mem32, xmm
 
243
        vpbroadcastd xmm6,xmm4
 
244
        vpbroadcastd xmm4,DWORD PTR [rcx]
 
245
        vpbroadcastd xmm4,[rcx]
 
246
 
 
247
# Tests for op xmm/m16, xmm
 
248
        vpbroadcastw xmm6,xmm4
 
249
        vpbroadcastw xmm4,WORD PTR [rcx]
 
250
        vpbroadcastw xmm4,[rcx]
 
251
 
 
252
# Tests for op xmm/m16, ymm
 
253
        vpbroadcastw ymm6,xmm4
 
254
        vpbroadcastw ymm4,WORD PTR [rcx]
 
255
        vpbroadcastw ymm4,[rcx]
 
256
 
 
257
# Tests for op xmm/m8, xmm
 
258
        vpbroadcastb xmm6,xmm4
 
259
        vpbroadcastb xmm4,BYTE PTR [rcx]
 
260
        vpbroadcastb xmm4,[rcx]
 
261
 
 
262
# Tests for op xmm/m8, ymm
 
263
        vpbroadcastb ymm6,xmm4
 
264
        vpbroadcastb ymm4,BYTE PTR [rcx]
 
265
        vpbroadcastb ymm4,[rcx]
 
266
 
 
267
# Tests for op xmm, xmm
 
268
        vbroadcastss xmm6,xmm4