summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/i386/simd.s
blob: faa37cfe88e365c91bd0bae430e42ae7ed66f5ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
	.text
_start:
	addsubps 0x12345678,%xmm1
	comisd 0x12345678,%xmm1
	comiss 0x12345678,%xmm1
	cvtdq2pd 0x12345678,%xmm1
	cvtpd2dq 0x12345678,%xmm1
	cvtps2pd 0x12345678,%xmm1
	cvttps2dq 0x12345678,%xmm1
	haddps 0x12345678,%xmm1
	movdqu %xmm1,0x12345678
	movdqu 0x12345678,%xmm1
	movhpd %xmm1,0x12345678
	movhpd 0x12345678,%xmm1
	movhps %xmm1,0x12345678
	movhps 0x12345678,%xmm1
	movlpd %xmm1,0x12345678
	movlpd 0x12345678,%xmm1
	movlps %xmm1,0x12345678
	movlps 0x12345678,%xmm1
	movshdup 0x12345678,%xmm1
	movsldup 0x12345678,%xmm1
	pshufhw $0x90,0x12345678,%xmm1
	pshuflw $0x90,0x12345678,%xmm1
	punpcklbw 0x12345678,%mm1
	punpckldq 0x12345678,%mm1
	punpcklwd 0x12345678,%mm1
	punpcklbw 0x12345678,%xmm1
	punpckldq 0x12345678,%xmm1
	punpcklwd 0x12345678,%xmm1
	punpcklqdq 0x12345678,%xmm1
	ucomisd 0x12345678,%xmm1
	ucomiss 0x12345678,%xmm1

	cmpeqsd (%eax),%xmm0
	cmpeqss (%eax),%xmm0
	cvtpi2pd (%eax),%xmm0
	cvtpi2ps (%eax),%xmm0
	cvtps2pi (%eax),%mm0
	cvtsd2si (%eax),%eax
	cvttsd2si (%eax),%eax
	cvtsd2ss (%eax),%xmm0
	cvtss2sd (%eax),%xmm0
	cvtss2si (%eax),%eax
	cvttss2si (%eax),%eax
	divsd (%eax),%xmm0
	divss (%eax),%xmm0
	maxsd (%eax),%xmm0
	maxss (%eax),%xmm0
	minss (%eax),%xmm0
	minss (%eax),%xmm0
	movntsd %xmm0,(%eax)
	movntss %xmm0,(%eax)
	movsd (%eax),%xmm0
	movsd %xmm0,(%eax)
	movss (%eax),%xmm0
	movss %xmm0,(%eax)
	mulsd (%eax),%xmm0
	mulss (%eax),%xmm0
	rcpss (%eax),%xmm0
	roundsd $0,(%eax),%xmm0
	roundss $0,(%eax),%xmm0
	rsqrtss (%eax),%xmm0
	sqrtsd (%eax),%xmm0
	sqrtss (%eax),%xmm0
	subsd (%eax),%xmm0
	subss (%eax),%xmm0

	pmovsxbw (%eax),%xmm0
	pmovsxbd (%eax),%xmm0
	pmovsxbq (%eax),%xmm0
	pmovsxwd (%eax),%xmm0
	pmovsxwq (%eax),%xmm0
	pmovsxdq (%eax),%xmm0
	pmovzxbw (%eax),%xmm0
	pmovzxbd (%eax),%xmm0
	pmovzxbq (%eax),%xmm0
	pmovzxwd (%eax),%xmm0
	pmovzxwq (%eax),%xmm0
	pmovzxdq (%eax),%xmm0
	insertps $0x0,(%eax),%xmm0

	unpckhpd (%eax),%xmm1
	unpckhps (%eax),%xmm1
	unpcklpd (%eax),%xmm1
	unpcklps (%eax),%xmm1

cmpss	$0x10,%xmm7,%xmm6
cmpss	$0x10,(%eax),%xmm7
cmpsd	$0x10,%xmm7,%xmm6
cmpsd	$0x10,(%eax),%xmm7

	cvtsi2ss %eax, %xmm1
	cvtsi2sd %eax, %xmm1
	cvtsi2ssl %eax, %xmm1
	cvtsi2sdl %eax, %xmm1
	cvtsi2ss (%eax), %xmm1
	cvtsi2sd (%eax), %xmm1
	cvtsi2ssl (%eax), %xmm1
	cvtsi2sdl (%eax), %xmm1

	.intel_syntax noprefix

addsubps xmm1,XMMWORD PTR ds:0x12345678
comisd xmm1,QWORD PTR ds:0x12345678
comiss xmm1,DWORD PTR ds:0x12345678
cvtdq2pd xmm1,QWORD PTR ds:0x12345678
cvtpd2dq xmm1,XMMWORD PTR ds:0x12345678
cvtps2pd xmm1,QWORD PTR ds:0x12345678
cvttps2dq xmm1,XMMWORD PTR ds:0x12345678
haddps xmm1,XMMWORD PTR ds:0x12345678
movdqu XMMWORD PTR ds:0x12345678,xmm1
movdqu xmm1,XMMWORD PTR ds:0x12345678
movhpd QWORD PTR ds:0x12345678,xmm1
movhpd xmm1,QWORD PTR ds:0x12345678
movhps QWORD PTR ds:0x12345678,xmm1
movhps xmm1,QWORD PTR ds:0x12345678
movlpd QWORD PTR ds:0x12345678,xmm1
movlpd xmm1,QWORD PTR ds:0x12345678
movlps QWORD PTR ds:0x12345678,xmm1
movlps xmm1,QWORD PTR ds:0x12345678
movshdup xmm1,XMMWORD PTR ds:0x12345678
movsldup xmm1,XMMWORD PTR ds:0x12345678
pshufhw xmm1,XMMWORD PTR ds:0x12345678,0x90
pshuflw xmm1,XMMWORD PTR ds:0x12345678,0x90
punpcklbw mm1,DWORD PTR ds:0x12345678
punpckldq mm1,DWORD PTR ds:0x12345678
punpcklwd mm1,DWORD PTR ds:0x12345678
punpcklbw xmm1,XMMWORD PTR ds:0x12345678
punpckldq xmm1,XMMWORD PTR ds:0x12345678
punpcklwd xmm1,XMMWORD PTR ds:0x12345678
punpcklqdq xmm1,XMMWORD PTR ds:0x12345678
ucomisd xmm1,QWORD PTR ds:0x12345678
ucomiss xmm1,DWORD PTR ds:0x12345678
cmpeqsd xmm0,QWORD PTR [eax]
cmpeqss xmm0,DWORD PTR [eax]
cvtpi2pd xmm0,QWORD PTR [eax]
cvtpi2ps xmm0,QWORD PTR [eax]
cvtps2pi mm0,QWORD PTR [eax]
cvtsd2si eax,QWORD PTR [eax]
cvttsd2si eax,QWORD PTR [eax]
cvtsd2ss xmm0,QWORD PTR [eax]
cvtss2sd xmm0,DWORD PTR [eax]
cvtss2si eax,DWORD PTR [eax]
cvttss2si eax,DWORD PTR [eax]
divsd  xmm0,QWORD PTR [eax]
divss  xmm0,DWORD PTR [eax]
maxsd  xmm0,QWORD PTR [eax]
maxss  xmm0,DWORD PTR [eax]
minss  xmm0,DWORD PTR [eax]
minss  xmm0,DWORD PTR [eax]
movntsd QWORD PTR [eax],xmm0
movntss DWORD PTR [eax],xmm0
movsd  xmm0,QWORD PTR [eax]
movsd  QWORD PTR [eax],xmm0
movss  xmm0,DWORD PTR [eax]
movss  DWORD PTR [eax],xmm0
mulsd  xmm0,QWORD PTR [eax]
mulss  xmm0,DWORD PTR [eax]
rcpss  xmm0,DWORD PTR [eax]
roundsd xmm0,QWORD PTR [eax],0x0
roundss xmm0,DWORD PTR [eax],0x0
rsqrtss xmm0,DWORD PTR [eax]
sqrtsd xmm0,QWORD PTR [eax]
sqrtss xmm0,DWORD PTR [eax]
subsd  xmm0,QWORD PTR [eax]
subss  xmm0,DWORD PTR [eax]
pmovsxbw xmm0,QWORD PTR [eax]
pmovsxbd xmm0,DWORD PTR [eax]
pmovsxbq xmm0,WORD PTR [eax]
pmovsxwd xmm0,QWORD PTR [eax]
pmovsxwq xmm0,DWORD PTR [eax]
pmovsxdq xmm0,QWORD PTR [eax]
pmovzxbw xmm0,QWORD PTR [eax]
pmovzxbd xmm0,DWORD PTR [eax]
pmovzxbq xmm0,WORD PTR [eax]
pmovzxwd xmm0,QWORD PTR [eax]
pmovzxwq xmm0,DWORD PTR [eax]
pmovzxdq xmm0,QWORD PTR [eax]
insertps xmm0,DWORD PTR [eax],0x0
unpckhpd xmm0,XMMWORD PTR [eax]
unpckhps xmm0,XMMWORD PTR [eax]
unpcklpd xmm0,XMMWORD PTR [eax]
unpcklps xmm0,XMMWORD PTR [eax]
cmpss  xmm6,xmm7,0x10
cmpss  xmm7,DWORD PTR [eax],0x10
cmpsd  xmm6,xmm7,0x10
cmpsd  xmm7,QWORD PTR [eax],0x10
cvtsi2ss xmm1,eax
cvtsi2sd xmm1,eax
cvtsi2ssd xmm1,eax
cvtsi2sdd xmm1,eax
cvtsi2ss xmm1,DWORD PTR [eax]
cvtsi2ss xmm1,[eax]
cvtsi2sd xmm1,DWORD PTR [eax]
cvtsi2sd xmm1,[eax]
cvtsi2ssd xmm1,DWORD PTR [eax]
cvtsi2sdd xmm1,DWORD PTR [eax]
cvttps2pi mm0,QWORD PTR[eax]