summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-06-02 10:55:21 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-06-02 10:55:21 +0000
commit0afd5a4d809655148d01954c9ab4c5fd38e0306f (patch)
tree60e3ce71a62b1f661df00507d21638fef19f988f /llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
parent7f74dedb39df6a47e8330b937df9e94f39697c60 (diff)
downloadbcm5719-llvm-0afd5a4d809655148d01954c9ab4c5fd38e0306f.tar.gz
bcm5719-llvm-0afd5a4d809655148d01954c9ab4c5fd38e0306f.zip
[X86][SSE] Replace (V)CVTTPS2DQ and VCVTTPD2DQ truncating (round to zero) f32/f64 to i32 with generic IR (llvm)
This patch removes the llvm intrinsics (V)CVTTPS2DQ and VCVTTPD2DQ truncation (round to zero) conversions and auto-upgrades to FP_TO_SINT calls instead. Note: I looked at updating CVTTPD2DQ as well but this still requires a lot more work to correctly lower. Differential Revision: http://reviews.llvm.org/D20860 llvm-svn: 271510
Diffstat (limited to 'llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll')
-rw-r--r--llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll b/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
index adee24430ee..c8927f8200d 100644
--- a/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
+++ b/llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
@@ -1280,11 +1280,10 @@ define <2 x i64> @test_mm_cvttps_epi32(<4 x float> %a0) nounwind {
; X64: # BB#0:
; X64-NEXT: cvttps2dq %xmm0, %xmm0
; X64-NEXT: retq
- %res = call <4 x i32> @llvm.x86.sse2.cvttps2dq(<4 x float> %a0)
+ %res = fptosi <4 x float> %a0 to <4 x i32>
%bc = bitcast <4 x i32> %res to <2 x i64>
ret <2 x i64> %bc
}
-declare <4 x i32> @llvm.x86.sse2.cvttps2dq(<4 x float>) nounwind readnone
define i32 @test_mm_cvttsd_si32(<2 x double> %a0) nounwind {
; X32-LABEL: test_mm_cvttsd_si32:
OpenPOWER on IntegriCloud