Mercurial > hg > CbC > CbC_llvm
comparison test/CodeGen/X86/sse41-intrinsics-x86.ll @ 95:afa8332a0e37 LLVM3.8
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | 54457678186b |
children | 1172e4bd9c6f |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
1 ; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=-avx,+sse4.1 | FileCheck %s | 1 ; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=-avx,+sse4.1 | FileCheck %s |
2 ; RUN: llc < %s -mtriple=i386-apple-darwin -mcpu=knl | FileCheck %s | |
2 | 3 |
3 define <2 x double> @test_x86_sse41_blendpd(<2 x double> %a0, <2 x double> %a1) { | 4 define <2 x double> @test_x86_sse41_blendpd(<2 x double> %a0, <2 x double> %a1) { |
4 ; CHECK: blendpd | 5 ; CHECK: blendpd |
5 %res = call <2 x double> @llvm.x86.sse41.blendpd(<2 x double> %a0, <2 x double> %a1, i8 7) ; <<2 x double>> [#uses=1] | 6 %res = call <2 x double> @llvm.x86.sse41.blendpd(<2 x double> %a0, <2 x double> %a1, i8 7) ; <<2 x double>> [#uses=1] |
6 ret <2 x double> %res | 7 ret <2 x double> %res |
157 ; CHECK: pminuw | 158 ; CHECK: pminuw |
158 %res = call <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16> %a0, <8 x i16> %a1) ; <<8 x i16>> [#uses=1] | 159 %res = call <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16> %a0, <8 x i16> %a1) ; <<8 x i16>> [#uses=1] |
159 ret <8 x i16> %res | 160 ret <8 x i16> %res |
160 } | 161 } |
161 declare <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16>, <8 x i16>) nounwind readnone | 162 declare <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16>, <8 x i16>) nounwind readnone |
162 | |
163 | |
164 define <4 x i32> @test_x86_sse41_pmovsxbd(<16 x i8> %a0) { | |
165 ; CHECK: pmovsxbd | |
166 %res = call <4 x i32> @llvm.x86.sse41.pmovsxbd(<16 x i8> %a0) ; <<4 x i32>> [#uses=1] | |
167 ret <4 x i32> %res | |
168 } | |
169 declare <4 x i32> @llvm.x86.sse41.pmovsxbd(<16 x i8>) nounwind readnone | |
170 | |
171 | |
172 define <2 x i64> @test_x86_sse41_pmovsxbq(<16 x i8> %a0) { | |
173 ; CHECK: pmovsxbq | |
174 %res = call <2 x i64> @llvm.x86.sse41.pmovsxbq(<16 x i8> %a0) ; <<2 x i64>> [#uses=1] | |
175 ret <2 x i64> %res | |
176 } | |
177 declare <2 x i64> @llvm.x86.sse41.pmovsxbq(<16 x i8>) nounwind readnone | |
178 | |
179 | |
180 define <8 x i16> @test_x86_sse41_pmovsxbw(<16 x i8> %a0) { | |
181 ; CHECK: pmovsxbw | |
182 %res = call <8 x i16> @llvm.x86.sse41.pmovsxbw(<16 x i8> %a0) ; <<8 x i16>> [#uses=1] | |
183 ret <8 x i16> %res | |
184 } | |
185 declare <8 x i16> @llvm.x86.sse41.pmovsxbw(<16 x i8>) nounwind readnone | |
186 | |
187 | |
188 define <2 x i64> @test_x86_sse41_pmovsxdq(<4 x i32> %a0) { | |
189 ; CHECK: pmovsxdq | |
190 %res = call <2 x i64> @llvm.x86.sse41.pmovsxdq(<4 x i32> %a0) ; <<2 x i64>> [#uses=1] | |
191 ret <2 x i64> %res | |
192 } | |
193 declare <2 x i64> @llvm.x86.sse41.pmovsxdq(<4 x i32>) nounwind readnone | |
194 | |
195 | |
196 define <4 x i32> @test_x86_sse41_pmovsxwd(<8 x i16> %a0) { | |
197 ; CHECK: pmovsxwd | |
198 %res = call <4 x i32> @llvm.x86.sse41.pmovsxwd(<8 x i16> %a0) ; <<4 x i32>> [#uses=1] | |
199 ret <4 x i32> %res | |
200 } | |
201 declare <4 x i32> @llvm.x86.sse41.pmovsxwd(<8 x i16>) nounwind readnone | |
202 | |
203 | |
204 define <2 x i64> @test_x86_sse41_pmovsxwq(<8 x i16> %a0) { | |
205 ; CHECK: pmovsxwq | |
206 %res = call <2 x i64> @llvm.x86.sse41.pmovsxwq(<8 x i16> %a0) ; <<2 x i64>> [#uses=1] | |
207 ret <2 x i64> %res | |
208 } | |
209 declare <2 x i64> @llvm.x86.sse41.pmovsxwq(<8 x i16>) nounwind readnone | |
210 | 163 |
211 | 164 |
212 define <4 x i32> @test_x86_sse41_pmovzxbd(<16 x i8> %a0) { | 165 define <4 x i32> @test_x86_sse41_pmovzxbd(<16 x i8> %a0) { |
213 ; CHECK: pmovzxbd | 166 ; CHECK: pmovzxbd |
214 %res = call <4 x i32> @llvm.x86.sse41.pmovzxbd(<16 x i8> %a0) ; <<4 x i32>> [#uses=1] | 167 %res = call <4 x i32> @llvm.x86.sse41.pmovzxbd(<16 x i8> %a0) ; <<4 x i32>> [#uses=1] |