Lines Matching refs:SSE
2 ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X32-SSE
4 ; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X64-SSE
8 ; X32-SSE-LABEL: fptrunc_frommem2:
9 ; X32-SSE: # %bb.0: # %entry
10 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax
11 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx
12 ; X32-SSE-NEXT: cvtpd2ps (%ecx), %xmm0
13 ; X32-SSE-NEXT: movlpd %xmm0, (%eax)
14 ; X32-SSE-NEXT: retl
24 ; X64-SSE-LABEL: fptrunc_frommem2:
25 ; X64-SSE: # %bb.0: # %entry
26 ; X64-SSE-NEXT: cvtpd2ps (%rdi), %xmm0
27 ; X64-SSE-NEXT: movlpd %xmm0, (%rsi)
28 ; X64-SSE-NEXT: retq
43 ; X32-SSE-LABEL: fptrunc_frommem4:
44 ; X32-SSE: # %bb.0: # %entry
45 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax
46 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx
47 ; X32-SSE-NEXT: cvtpd2ps 16(%ecx), %xmm0
48 ; X32-SSE-NEXT: cvtpd2ps (%ecx), %xmm1
49 ; X32-SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
50 ; X32-SSE-NEXT: movupd %xmm1, (%eax)
51 ; X32-SSE-NEXT: retl
61 ; X64-SSE-LABEL: fptrunc_frommem4:
62 ; X64-SSE: # %bb.0: # %entry
63 ; X64-SSE-NEXT: cvtpd2ps 16(%rdi), %xmm0
64 ; X64-SSE-NEXT: cvtpd2ps (%rdi), %xmm1
65 ; X64-SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
66 ; X64-SSE-NEXT: movupd %xmm1, (%rsi)
67 ; X64-SSE-NEXT: retq
82 ; X32-SSE-LABEL: fptrunc_frommem8:
83 ; X32-SSE: # %bb.0: # %entry
84 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax
85 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx
86 ; X32-SSE-NEXT: cvtpd2ps 16(%ecx), %xmm0
87 ; X32-SSE-NEXT: cvtpd2ps (%ecx), %xmm1
88 ; X32-SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
89 ; X32-SSE-NEXT: cvtpd2ps 48(%ecx), %xmm0
90 ; X32-SSE-NEXT: cvtpd2ps 32(%ecx), %xmm2
91 ; X32-SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm0[0]
92 ; X32-SSE-NEXT: movupd %xmm2, 16(%eax)
93 ; X32-SSE-NEXT: movupd %xmm1, (%eax)
94 ; X32-SSE-NEXT: retl
106 ; X64-SSE-LABEL: fptrunc_frommem8:
107 ; X64-SSE: # %bb.0: # %entry
108 ; X64-SSE-NEXT: cvtpd2ps 16(%rdi), %xmm0
109 ; X64-SSE-NEXT: cvtpd2ps (%rdi), %xmm1
110 ; X64-SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
111 ; X64-SSE-NEXT: cvtpd2ps 48(%rdi), %xmm0
112 ; X64-SSE-NEXT: cvtpd2ps 32(%rdi), %xmm2
113 ; X64-SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm0[0]
114 ; X64-SSE-NEXT: movupd %xmm2, 16(%rsi)
115 ; X64-SSE-NEXT: movupd %xmm1, (%rsi)
116 ; X64-SSE-NEXT: retq
133 ; X32-SSE-LABEL: fptrunc_frommem2_zext:
134 ; X32-SSE: # %bb.0:
135 ; X32-SSE-NEXT: movl {{[0-9]+}}(%esp), %eax
136 ; X32-SSE-NEXT: cvtpd2ps (%eax), %xmm0
137 ; X32-SSE-NEXT: retl
145 ; X64-SSE-LABEL: fptrunc_frommem2_zext:
146 ; X64-SSE: # %bb.0:
147 ; X64-SSE-NEXT: cvtpd2ps (%rdi), %xmm0
148 ; X64-SSE-NEXT: retq
161 ; X32-SSE-LABEL: fptrunc_fromreg2_zext:
162 ; X32-SSE: # %bb.0:
163 ; X32-SSE-NEXT: cvtpd2ps %xmm0, %xmm0
164 ; X32-SSE-NEXT: retl
171 ; X64-SSE-LABEL: fptrunc_fromreg2_zext:
172 ; X64-SSE: # %bb.0:
173 ; X64-SSE-NEXT: cvtpd2ps %xmm0, %xmm0
174 ; X64-SSE-NEXT: retq
187 ; X32-SSE-LABEL: fptrunc_fromconst:
188 ; X32-SSE: # %bb.0: # %entry
189 ; X32-SSE-NEXT: cvtpd2ps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1
190 ; X32-SSE-NEXT: cvtpd2ps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
191 ; X32-SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
192 ; X32-SSE-NEXT: retl
199 ; X64-SSE-LABEL: fptrunc_fromconst:
200 ; X64-SSE: # %bb.0: # %entry
201 ; X64-SSE-NEXT: cvtpd2ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
202 ; X64-SSE-NEXT: cvtpd2ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
203 ; X64-SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
204 ; X64-SSE-NEXT: retq