gas/
[external/binutils.git] / gas / testsuite / gas / i386 / sse4_1.s
1 # Streaming SIMD extensions 4.1 Instructions
2
3         .text
4 foo:
5         blendpd         $0,(%ecx),%xmm0
6         blendpd         $0,%xmm1,%xmm0
7         blendps         $0,(%ecx),%xmm0
8         blendps         $0,%xmm1,%xmm0
9         blendvpd        %xmm0,(%ecx),%xmm0
10         blendvpd        %xmm0,%xmm1,%xmm0
11         blendvps        %xmm0,(%ecx),%xmm0
12         blendvps        %xmm0,%xmm1,%xmm0
13         dppd            $0,(%ecx),%xmm0
14         dppd            $0,%xmm1,%xmm0
15         dpps            $0,(%ecx),%xmm0
16         dpps            $0,%xmm1,%xmm0
17         extractps       $0,%xmm0,%ecx
18         extractps       $0,%xmm0,(%ecx)
19         insertps        $0,%xmm1,%xmm0
20         insertps        $0,(%ecx),%xmm0
21         movntdqa        (%ecx),%xmm0
22         mpsadbw         $0,(%ecx),%xmm0
23         mpsadbw         $0,%xmm1,%xmm0
24         packusdw        (%ecx),%xmm0
25         packusdw        %xmm1,%xmm0
26         pblendvb        %xmm0,(%ecx),%xmm0
27         pblendvb        %xmm0,%xmm1,%xmm0
28         pblendw         $0,(%ecx),%xmm0
29         pblendw         $0,%xmm1,%xmm0
30         pcmpeqq         %xmm1,%xmm0
31         pcmpeqq         (%ecx),%xmm0
32         pextrb          $0,%xmm0,%ecx
33         pextrb          $0,%xmm0,(%ecx)
34         pextrd          $0,%xmm0,%ecx
35         pextrd          $0,%xmm0,(%ecx)
36         pextrw          $0,%xmm0,%ecx
37         pextrw          $0,%xmm0,(%ecx)
38         phminposuw      %xmm1,%xmm0
39         phminposuw      (%ecx),%xmm0
40         pinsrb          $0,(%ecx),%xmm0
41         pinsrb          $0,%ecx,%xmm0
42         pinsrd          $0,(%ecx),%xmm0
43         pinsrd          $0,%ecx,%xmm0
44         pmaxsb          %xmm1,%xmm0
45         pmaxsb          (%ecx),%xmm0
46         pmaxsd          %xmm1,%xmm0
47         pmaxsd          (%ecx),%xmm0
48         pmaxud          %xmm1,%xmm0
49         pmaxud          (%ecx),%xmm0
50         pmaxuw          %xmm1,%xmm0
51         pmaxuw          (%ecx),%xmm0
52         pminsb          %xmm1,%xmm0
53         pminsb          (%ecx),%xmm0
54         pminsd          %xmm1,%xmm0
55         pminsd          (%ecx),%xmm0
56         pminud          %xmm1,%xmm0
57         pminud          (%ecx),%xmm0
58         pminuw          %xmm1,%xmm0
59         pminuw          (%ecx),%xmm0
60         pmovsxbw        %xmm1,%xmm0
61         pmovsxbw        (%ecx),%xmm0
62         pmovsxbd        %xmm1,%xmm0
63         pmovsxbd        (%ecx),%xmm0
64         pmovsxbq        %xmm1,%xmm0
65         pmovsxbq        (%ecx),%xmm0
66         pmovsxwd        %xmm1,%xmm0
67         pmovsxwd        (%ecx),%xmm0
68         pmovsxwq        %xmm1,%xmm0
69         pmovsxwq        (%ecx),%xmm0
70         pmovsxdq        %xmm1,%xmm0
71         pmovsxdq        (%ecx),%xmm0
72         pmovzxbw        %xmm1,%xmm0
73         pmovzxbw        (%ecx),%xmm0
74         pmovzxbd        %xmm1,%xmm0
75         pmovzxbd        (%ecx),%xmm0
76         pmovzxbq        %xmm1,%xmm0
77         pmovzxbq        (%ecx),%xmm0
78         pmovzxwd        %xmm1,%xmm0
79         pmovzxwd        (%ecx),%xmm0
80         pmovzxwq        %xmm1,%xmm0
81         pmovzxwq        (%ecx),%xmm0
82         pmovzxdq        %xmm1,%xmm0
83         pmovzxdq        (%ecx),%xmm0
84         pmuldq          %xmm1,%xmm0
85         pmuldq          (%ecx),%xmm0
86         pmulld          %xmm1,%xmm0
87         pmulld          (%ecx),%xmm0
88         ptest           %xmm1,%xmm0
89         ptest           (%ecx),%xmm0
90         roundpd         $0,(%ecx),%xmm0
91         roundpd         $0,%xmm1,%xmm0
92         roundps         $0,(%ecx),%xmm0
93         roundps         $0,%xmm1,%xmm0
94         roundsd         $0,(%ecx),%xmm0
95         roundsd         $0,%xmm1,%xmm0
96         roundss         $0,(%ecx),%xmm0
97         roundss         $0,%xmm1,%xmm0
98
99         .intel_syntax noprefix
100         blendpd xmm0,XMMWORD PTR [ecx],0x0
101         blendpd xmm0,xmm1,0x0
102         blendps xmm0,XMMWORD PTR [ecx],0x0
103         blendps xmm0,xmm1,0x0
104         blendvpd xmm0,XMMWORD PTR [ecx],xmm0
105         blendvpd xmm0,xmm1,xmm0
106         blendvps xmm0,XMMWORD PTR [ecx],xmm0
107         blendvps xmm0,xmm1,xmm0
108         dppd   xmm0,XMMWORD PTR [ecx],0x0
109         dppd   xmm0,xmm1,0x0
110         dpps   xmm0,XMMWORD PTR [ecx],0x0
111         dpps   xmm0,xmm1,0x0
112         extractps ecx,xmm0,0x0
113         extractps DWORD PTR [ecx],xmm0,0x0
114         insertps xmm0,xmm1,0x0
115         insertps xmm0,DWORD PTR [ecx],0x0
116         movntdqa xmm0,XMMWORD PTR [ecx]
117         mpsadbw xmm0,XMMWORD PTR [ecx],0x0
118         mpsadbw xmm0,xmm1,0x0
119         packusdw xmm0,XMMWORD PTR [ecx]
120         packusdw xmm0,xmm1
121         pblendvb xmm0,XMMWORD PTR [ecx],xmm0
122         pblendvb xmm0,xmm1,xmm0
123         pblendw xmm0,XMMWORD PTR [ecx],0x0
124         pblendw xmm0,xmm1,0x0
125         pcmpeqq xmm0,xmm1
126         pcmpeqq xmm0,XMMWORD PTR [ecx]
127         pextrb ecx,xmm0,0x0
128         pextrb BYTE PTR [ecx],xmm0,0x0
129         pextrd ecx,xmm0,0x0
130         pextrd DWORD PTR [ecx],xmm0,0x0
131         pextrw ecx,xmm0,0x0
132         pextrw WORD PTR [ecx],xmm0,0x0
133         phminposuw xmm0,xmm1
134         phminposuw xmm0,XMMWORD PTR [ecx]
135         pinsrb xmm0,BYTE PTR [ecx],0x0
136         pinsrb xmm0,ecx,0x0
137         pinsrd xmm0,DWORD PTR [ecx],0x0
138         pinsrd xmm0,ecx,0x0
139         pmaxsb xmm0,xmm1
140         pmaxsb xmm0,XMMWORD PTR [ecx]
141         pmaxsd xmm0,xmm1
142         pmaxsd xmm0,XMMWORD PTR [ecx]
143         pmaxud xmm0,xmm1
144         pmaxud xmm0,XMMWORD PTR [ecx]
145         pmaxuw xmm0,xmm1
146         pmaxuw xmm0,XMMWORD PTR [ecx]
147         pminsb xmm0,xmm1
148         pminsb xmm0,XMMWORD PTR [ecx]
149         pminsd xmm0,xmm1
150         pminsd xmm0,XMMWORD PTR [ecx]
151         pminud xmm0,xmm1
152         pminud xmm0,XMMWORD PTR [ecx]
153         pminuw xmm0,xmm1
154         pminuw xmm0,XMMWORD PTR [ecx]
155         pmovsxbw xmm0,xmm1
156         pmovsxbw xmm0,QWORD PTR [ecx]
157         pmovsxbd xmm0,xmm1
158         pmovsxbd xmm0,DWORD PTR [ecx]
159         pmovsxbq xmm0,xmm1
160         pmovsxbq xmm0,WORD PTR [ecx]
161         pmovsxwd xmm0,xmm1
162         pmovsxwd xmm0,QWORD PTR [ecx]
163         pmovsxwq xmm0,xmm1
164         pmovsxwq xmm0,DWORD PTR [ecx]
165         pmovsxdq xmm0,xmm1
166         pmovsxdq xmm0,QWORD PTR [ecx]
167         pmovzxbw xmm0,xmm1
168         pmovzxbw xmm0,QWORD PTR [ecx]
169         pmovzxbd xmm0,xmm1
170         pmovzxbd xmm0,DWORD PTR [ecx]
171         pmovzxbq xmm0,xmm1
172         pmovzxbq xmm0,WORD PTR [ecx]
173         pmovzxwd xmm0,xmm1
174         pmovzxwd xmm0,QWORD PTR [ecx]
175         pmovzxwq xmm0,xmm1
176         pmovzxwq xmm0,DWORD PTR [ecx]
177         pmovzxdq xmm0,xmm1
178         pmovzxdq xmm0,QWORD PTR [ecx]
179         pmuldq xmm0,xmm1
180         pmuldq xmm0,XMMWORD PTR [ecx]
181         pmulld xmm0,xmm1
182         pmulld xmm0,XMMWORD PTR [ecx]
183         ptest  xmm0,xmm1
184         ptest  xmm0,XMMWORD PTR [ecx]
185         roundpd xmm0,XMMWORD PTR [ecx],0x0
186         roundpd xmm0,xmm1,0x0
187         roundps xmm0,XMMWORD PTR [ecx],0x0
188         roundps xmm0,xmm1,0x0
189         roundsd xmm0,QWORD PTR [ecx],0x0
190         roundsd xmm0,xmm1,0x0
191         roundss xmm0,DWORD PTR [ecx],0x0
192         roundss xmm0,xmm1,0x0
193
194         .p2align        4,0