[llvm] r242613 - Refreshed tests.

Simon Pilgrim llvm-dev at redking.me.uk
Sat Jul 18 09:53:51 PDT 2015


Author: rksimon
Date: Sat Jul 18 11:53:51 2015
New Revision: 242613

URL: http://llvm.org/viewvc/llvm-project?rev=242613&view=rev
Log:
Refreshed tests.

Modified:
    llvm/trunk/test/CodeGen/X86/vec_fp_to_int.ll

Modified: llvm/trunk/test/CodeGen/X86/vec_fp_to_int.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/vec_fp_to_int.ll?rev=242613&r1=242612&r2=242613&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/vec_fp_to_int.ll (original)
+++ llvm/trunk/test/CodeGen/X86/vec_fp_to_int.ll Sat Jul 18 11:53:51 2015
@@ -11,16 +11,16 @@
 ;
 
 define <2 x i64> @fptosi_2f64_to_2i64(<2 x double> %a) {
-; SSE2-LABEL: fptosi_2f64_to_2i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
-; SSE2-NEXT:    movdqa %xmm1, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_2f64_to_2i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; SSE-NEXT:    movdqa %xmm1, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_2f64_to_2i64:
 ; AVX:       # BB#0:
@@ -36,16 +36,16 @@ define <2 x i64> @fptosi_2f64_to_2i64(<2
 }
 
 define <4 x i32> @fptosi_2f64_to_2i32(<2 x double> %a) {
-; SSE2-LABEL: fptosi_2f64_to_2i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
-; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,2,2,3]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_2f64_to_2i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm1[0,2,2,3]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_2f64_to_2i32:
 ; AVX:       # BB#0:
@@ -63,23 +63,23 @@ define <4 x i32> @fptosi_2f64_to_2i32(<2
 }
 
 define <4 x i64> @fptosi_4f64_to_4i64(<4 x double> %a) {
-; SSE2-LABEL: fptosi_4f64_to_4i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm2
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
-; SSE2-NEXT:    cvttsd2si %xmm1, %rax
-; SSE2-NEXT:    movd %rax, %xmm3
-; SSE2-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
-; SSE2-NEXT:    cvttsd2si %xmm1, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm0[0]
-; SSE2-NEXT:    movdqa %xmm2, %xmm0
-; SSE2-NEXT:    movdqa %xmm3, %xmm1
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f64_to_4i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm2
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
+; SSE-NEXT:    cvttsd2si %xmm1, %rax
+; SSE-NEXT:    movd %rax, %xmm3
+; SSE-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
+; SSE-NEXT:    cvttsd2si %xmm1, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm0[0]
+; SSE-NEXT:    movdqa %xmm2, %xmm0
+; SSE-NEXT:    movdqa %xmm3, %xmm1
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f64_to_4i64:
 ; AVX:       # BB#0:
@@ -103,24 +103,24 @@ define <4 x i64> @fptosi_4f64_to_4i64(<4
 }
 
 define <4 x i32> @fptosi_4f64_to_4i32(<4 x double> %a) {
-; SSE2-LABEL: fptosi_4f64_to_4i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttsd2si %xmm1, %rax
-; SSE2-NEXT:    movd %rax, %xmm2
-; SSE2-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
-; SSE2-NEXT:    cvttsd2si %xmm1, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
-; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm2
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
-; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f64_to_4i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttsd2si %xmm1, %rax
+; SSE-NEXT:    movd %rax, %xmm2
+; SSE-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
+; SSE-NEXT:    cvttsd2si %xmm1, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
+; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm2[0,2,2,3]
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm2
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
+; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f64_to_4i32:
 ; AVX:       # BB#0:
@@ -136,30 +136,30 @@ define <4 x i32> @fptosi_4f64_to_4i32(<4
 ;
 
 define <2 x i64> @fptoui_2f64_to_2i64(<2 x double> %a) {
-; SSE2-LABEL: fptoui_2f64_to_2i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movsd {{.*#+}} xmm2 = mem[0],zero
-; SSE2-NEXT:    movapd %xmm0, %xmm1
-; SSE2-NEXT:    subsd %xmm2, %xmm1
-; SSE2-NEXT:    cvttsd2si %xmm1, %rax
-; SSE2-NEXT:    movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
-; SSE2-NEXT:    xorq %rcx, %rax
-; SSE2-NEXT:    cvttsd2si %xmm0, %rdx
-; SSE2-NEXT:    ucomisd %xmm2, %xmm0
-; SSE2-NEXT:    cmovaeq %rax, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm1
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    movapd %xmm0, %xmm3
-; SSE2-NEXT:    subsd %xmm2, %xmm3
-; SSE2-NEXT:    cvttsd2si %xmm3, %rax
-; SSE2-NEXT:    xorq %rcx, %rax
-; SSE2-NEXT:    cvttsd2si %xmm0, %rcx
-; SSE2-NEXT:    ucomisd %xmm2, %xmm0
-; SSE2-NEXT:    cmovaeq %rax, %rcx
-; SSE2-NEXT:    movd %rcx, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
-; SSE2-NEXT:    movdqa %xmm1, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_2f64_to_2i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    movsd {{.*#+}} xmm2 = mem[0],zero
+; SSE-NEXT:    movapd %xmm0, %xmm1
+; SSE-NEXT:    subsd %xmm2, %xmm1
+; SSE-NEXT:    cvttsd2si %xmm1, %rax
+; SSE-NEXT:    movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
+; SSE-NEXT:    xorq %rcx, %rax
+; SSE-NEXT:    cvttsd2si %xmm0, %rdx
+; SSE-NEXT:    ucomisd %xmm2, %xmm0
+; SSE-NEXT:    cmovaeq %rax, %rdx
+; SSE-NEXT:    movd %rdx, %xmm1
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    movapd %xmm0, %xmm3
+; SSE-NEXT:    subsd %xmm2, %xmm3
+; SSE-NEXT:    cvttsd2si %xmm3, %rax
+; SSE-NEXT:    xorq %rcx, %rax
+; SSE-NEXT:    cvttsd2si %xmm0, %rcx
+; SSE-NEXT:    ucomisd %xmm2, %xmm0
+; SSE-NEXT:    cmovaeq %rax, %rcx
+; SSE-NEXT:    movd %rcx, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; SSE-NEXT:    movdqa %xmm1, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_2f64_to_2i64:
 ; AVX:       # BB#0:
@@ -187,30 +187,30 @@ define <2 x i64> @fptoui_2f64_to_2i64(<2
 }
 
 define <4 x i32> @fptoui_2f64_to_2i32(<2 x double> %a) {
-; SSE2-LABEL: fptoui_2f64_to_2i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movsd {{.*#+}} xmm1 = mem[0],zero
-; SSE2-NEXT:    movapd %xmm0, %xmm2
-; SSE2-NEXT:    subsd %xmm1, %xmm2
-; SSE2-NEXT:    cvttsd2si %xmm2, %rax
-; SSE2-NEXT:    movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
-; SSE2-NEXT:    xorq %rcx, %rax
-; SSE2-NEXT:    cvttsd2si %xmm0, %rdx
-; SSE2-NEXT:    ucomisd %xmm1, %xmm0
-; SSE2-NEXT:    cmovaeq %rax, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm2
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    movapd %xmm0, %xmm3
-; SSE2-NEXT:    subsd %xmm1, %xmm3
-; SSE2-NEXT:    cvttsd2si %xmm3, %rax
-; SSE2-NEXT:    xorq %rcx, %rax
-; SSE2-NEXT:    cvttsd2si %xmm0, %rcx
-; SSE2-NEXT:    ucomisd %xmm1, %xmm0
-; SSE2-NEXT:    cmovaeq %rax, %rcx
-; SSE2-NEXT:    movd %rcx, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
-; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_2f64_to_2i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    movsd {{.*#+}} xmm1 = mem[0],zero
+; SSE-NEXT:    movapd %xmm0, %xmm2
+; SSE-NEXT:    subsd %xmm1, %xmm2
+; SSE-NEXT:    cvttsd2si %xmm2, %rax
+; SSE-NEXT:    movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
+; SSE-NEXT:    xorq %rcx, %rax
+; SSE-NEXT:    cvttsd2si %xmm0, %rdx
+; SSE-NEXT:    ucomisd %xmm1, %xmm0
+; SSE-NEXT:    cmovaeq %rax, %rdx
+; SSE-NEXT:    movd %rdx, %xmm2
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    movapd %xmm0, %xmm3
+; SSE-NEXT:    subsd %xmm1, %xmm3
+; SSE-NEXT:    cvttsd2si %xmm3, %rax
+; SSE-NEXT:    xorq %rcx, %rax
+; SSE-NEXT:    cvttsd2si %xmm0, %rcx
+; SSE-NEXT:    ucomisd %xmm1, %xmm0
+; SSE-NEXT:    cmovaeq %rax, %rcx
+; SSE-NEXT:    movd %rcx, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
+; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_2f64_to_2i32:
 ; AVX:       # BB#0:
@@ -240,48 +240,48 @@ define <4 x i32> @fptoui_2f64_to_2i32(<2
 }
 
 define <4 x i64> @fptoui_4f64_to_4i64(<4 x double> %a) {
-; SSE2-LABEL: fptoui_4f64_to_4i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movapd %xmm0, %xmm2
-; SSE2-NEXT:    movsd {{.*#+}} xmm3 = mem[0],zero
-; SSE2-NEXT:    subsd %xmm3, %xmm0
-; SSE2-NEXT:    cvttsd2si %xmm0, %rcx
-; SSE2-NEXT:    movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm2, %rdx
-; SSE2-NEXT:    ucomisd %xmm3, %xmm2
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm0
-; SSE2-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1,0]
-; SSE2-NEXT:    movapd %xmm2, %xmm4
-; SSE2-NEXT:    subsd %xmm3, %xmm4
-; SSE2-NEXT:    cvttsd2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm2, %rdx
-; SSE2-NEXT:    ucomisd %xmm3, %xmm2
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm2
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
-; SSE2-NEXT:    movapd %xmm1, %xmm2
-; SSE2-NEXT:    subsd %xmm3, %xmm2
-; SSE2-NEXT:    cvttsd2si %xmm2, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm1, %rdx
-; SSE2-NEXT:    ucomisd %xmm3, %xmm1
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm2
-; SSE2-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
-; SSE2-NEXT:    movapd %xmm1, %xmm4
-; SSE2-NEXT:    subsd %xmm3, %xmm4
-; SSE2-NEXT:    cvttsd2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm1, %rax
-; SSE2-NEXT:    ucomisd %xmm3, %xmm1
-; SSE2-NEXT:    cmovaeq %rcx, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
-; SSE2-NEXT:    movdqa %xmm2, %xmm1
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f64_to_4i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    movapd %xmm0, %xmm2
+; SSE-NEXT:    movsd {{.*#+}} xmm3 = mem[0],zero
+; SSE-NEXT:    subsd %xmm3, %xmm0
+; SSE-NEXT:    cvttsd2si %xmm0, %rcx
+; SSE-NEXT:    movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm2, %rdx
+; SSE-NEXT:    ucomisd %xmm3, %xmm2
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm0
+; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1,0]
+; SSE-NEXT:    movapd %xmm2, %xmm4
+; SSE-NEXT:    subsd %xmm3, %xmm4
+; SSE-NEXT:    cvttsd2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm2, %rdx
+; SSE-NEXT:    ucomisd %xmm3, %xmm2
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm2
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
+; SSE-NEXT:    movapd %xmm1, %xmm2
+; SSE-NEXT:    subsd %xmm3, %xmm2
+; SSE-NEXT:    cvttsd2si %xmm2, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm1, %rdx
+; SSE-NEXT:    ucomisd %xmm3, %xmm1
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm2
+; SSE-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
+; SSE-NEXT:    movapd %xmm1, %xmm4
+; SSE-NEXT:    subsd %xmm3, %xmm4
+; SSE-NEXT:    cvttsd2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm1, %rax
+; SSE-NEXT:    ucomisd %xmm3, %xmm1
+; SSE-NEXT:    cmovaeq %rcx, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
+; SSE-NEXT:    movdqa %xmm2, %xmm1
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f64_to_4i64:
 ; AVX:       # BB#0:
@@ -327,50 +327,50 @@ define <4 x i64> @fptoui_4f64_to_4i64(<4
 }
 
 define <4 x i32> @fptoui_4f64_to_4i32(<4 x double> %a) {
-; SSE2-LABEL: fptoui_4f64_to_4i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movsd {{.*#+}} xmm2 = mem[0],zero
-; SSE2-NEXT:    movapd %xmm1, %xmm3
-; SSE2-NEXT:    subsd %xmm2, %xmm3
-; SSE2-NEXT:    cvttsd2si %xmm3, %rcx
-; SSE2-NEXT:    movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm1, %rdx
-; SSE2-NEXT:    ucomisd %xmm2, %xmm1
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm3
-; SSE2-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
-; SSE2-NEXT:    movapd %xmm1, %xmm4
-; SSE2-NEXT:    subsd %xmm2, %xmm4
-; SSE2-NEXT:    cvttsd2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm1, %rdx
-; SSE2-NEXT:    ucomisd %xmm2, %xmm1
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm1
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm1[0]
-; SSE2-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]
-; SSE2-NEXT:    movapd %xmm0, %xmm3
-; SSE2-NEXT:    subsd %xmm2, %xmm3
-; SSE2-NEXT:    cvttsd2si %xmm3, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm0, %rdx
-; SSE2-NEXT:    ucomisd %xmm2, %xmm0
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm3
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    movapd %xmm0, %xmm4
-; SSE2-NEXT:    subsd %xmm2, %xmm4
-; SSE2-NEXT:    cvttsd2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttsd2si %xmm0, %rax
-; SSE2-NEXT:    ucomisd %xmm2, %xmm0
-; SSE2-NEXT:    cmovaeq %rcx, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm0[0]
-; SSE2-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,2,2,3]
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f64_to_4i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    movsd {{.*#+}} xmm2 = mem[0],zero
+; SSE-NEXT:    movapd %xmm1, %xmm3
+; SSE-NEXT:    subsd %xmm2, %xmm3
+; SSE-NEXT:    cvttsd2si %xmm3, %rcx
+; SSE-NEXT:    movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm1, %rdx
+; SSE-NEXT:    ucomisd %xmm2, %xmm1
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm3
+; SSE-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
+; SSE-NEXT:    movapd %xmm1, %xmm4
+; SSE-NEXT:    subsd %xmm2, %xmm4
+; SSE-NEXT:    cvttsd2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm1, %rdx
+; SSE-NEXT:    ucomisd %xmm2, %xmm1
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm1
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm1[0]
+; SSE-NEXT:    pshufd {{.*#+}} xmm1 = xmm3[0,2,2,3]
+; SSE-NEXT:    movapd %xmm0, %xmm3
+; SSE-NEXT:    subsd %xmm2, %xmm3
+; SSE-NEXT:    cvttsd2si %xmm3, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm0, %rdx
+; SSE-NEXT:    ucomisd %xmm2, %xmm0
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm3
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    movapd %xmm0, %xmm4
+; SSE-NEXT:    subsd %xmm2, %xmm4
+; SSE-NEXT:    cvttsd2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttsd2si %xmm0, %rax
+; SSE-NEXT:    ucomisd %xmm2, %xmm0
+; SSE-NEXT:    cmovaeq %rcx, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm0[0]
+; SSE-NEXT:    pshufd {{.*#+}} xmm0 = xmm3[0,2,2,3]
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f64_to_4i32:
 ; AVX:       # BB#0:
@@ -396,10 +396,10 @@ define <4 x i32> @fptoui_4f64_to_4i32(<4
 ;
 
 define <4 x i32> @fptosi_4f32_to_4i32(<4 x float> %a) {
-; SSE2-LABEL: fptosi_4f32_to_4i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttps2dq %xmm0, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f32_to_4i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttps2dq %xmm0, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f32_to_4i32:
 ; AVX:       # BB#0:
@@ -410,16 +410,16 @@ define <4 x i32> @fptosi_4f32_to_4i32(<4
 }
 
 define <2 x i64> @fptosi_2f32_to_2i64(<4 x float> %a) {
-; SSE2-LABEL: fptosi_2f32_to_2i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
-; SSE2-NEXT:    movdqa %xmm1, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_2f32_to_2i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; SSE-NEXT:    movdqa %xmm1, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_2f32_to_2i64:
 ; AVX:       # BB#0:
@@ -436,11 +436,11 @@ define <2 x i64> @fptosi_2f32_to_2i64(<4
 }
 
 define <8 x i32> @fptosi_8f32_to_8i32(<8 x float> %a) {
-; SSE2-LABEL: fptosi_8f32_to_8i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttps2dq %xmm0, %xmm0
-; SSE2-NEXT:    cvttps2dq %xmm1, %xmm1
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_8f32_to_8i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttps2dq %xmm0, %xmm0
+; SSE-NEXT:    cvttps2dq %xmm1, %xmm1
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_8f32_to_8i32:
 ; AVX:       # BB#0:
@@ -451,25 +451,25 @@ define <8 x i32> @fptosi_8f32_to_8i32(<8
 }
 
 define <4 x i64> @fptosi_4f32_to_4i64(<8 x float> %a) {
-; SSE2-LABEL: fptosi_4f32_to_4i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm2
-; SSE2-NEXT:    movaps %xmm0, %xmm1
-; SSE2-NEXT:    shufps {{.*#+}} xmm1 = xmm1[1,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm1, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
-; SSE2-NEXT:    movaps %xmm0, %xmm1
-; SSE2-NEXT:    shufps {{.*#+}} xmm1 = xmm1[3,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm1, %rax
-; SSE2-NEXT:    movd %rax, %xmm3
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
-; SSE2-NEXT:    movdqa %xmm2, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f32_to_4i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm2
+; SSE-NEXT:    movaps %xmm0, %xmm1
+; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[1,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm1, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
+; SSE-NEXT:    movaps %xmm0, %xmm1
+; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[3,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm1, %rax
+; SSE-NEXT:    movd %rax, %xmm3
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
+; SSE-NEXT:    movdqa %xmm2, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f32_to_4i64:
 ; AVX:       # BB#0:
@@ -498,26 +498,26 @@ define <4 x i64> @fptosi_4f32_to_4i64(<8
 ;
 
 define <4 x i32> @fptoui_4f32_to_4i32(<4 x float> %a) {
-; SSE2-LABEL: fptoui_4f32_to_4i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps %xmm0, %xmm1
-; SSE2-NEXT:    shufps {{.*#+}} xmm1 = xmm1[3,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm1, %rax
-; SSE2-NEXT:    movd %eax, %xmm1
-; SSE2-NEXT:    movaps %xmm0, %xmm2
-; SSE2-NEXT:    shufps {{.*#+}} xmm2 = xmm2[1,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm2, %rax
-; SSE2-NEXT:    movd %eax, %xmm2
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %eax, %xmm1
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %eax, %xmm0
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
-; SSE2-NEXT:    movdqa %xmm1, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f32_to_4i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps %xmm0, %xmm1
+; SSE-NEXT:    shufps {{.*#+}} xmm1 = xmm1[3,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm1, %rax
+; SSE-NEXT:    movd %eax, %xmm1
+; SSE-NEXT:    movaps %xmm0, %xmm2
+; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[1,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm2, %rax
+; SSE-NEXT:    movd %eax, %xmm2
+; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %eax, %xmm1
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %eax, %xmm0
+; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
+; SSE-NEXT:    punpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
+; SSE-NEXT:    movdqa %xmm1, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f32_to_4i32:
 ; AVX:       # BB#0:
@@ -538,30 +538,30 @@ define <4 x i32> @fptoui_4f32_to_4i32(<4
 }
 
 define <2 x i64> @fptoui_2f32_to_2i64(<4 x float> %a) {
-; SSE2-LABEL: fptoui_2f32_to_2i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movss {{.*#+}} xmm2 = mem[0],zero,zero,zero
-; SSE2-NEXT:    movaps %xmm0, %xmm1
-; SSE2-NEXT:    subss %xmm2, %xmm1
-; SSE2-NEXT:    cvttss2si %xmm1, %rax
-; SSE2-NEXT:    movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
-; SSE2-NEXT:    xorq %rcx, %rax
-; SSE2-NEXT:    cvttss2si %xmm0, %rdx
-; SSE2-NEXT:    ucomiss %xmm2, %xmm0
-; SSE2-NEXT:    cmovaeq %rax, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm1
-; SSE2-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
-; SSE2-NEXT:    movaps %xmm0, %xmm3
-; SSE2-NEXT:    subss %xmm2, %xmm3
-; SSE2-NEXT:    cvttss2si %xmm3, %rax
-; SSE2-NEXT:    xorq %rcx, %rax
-; SSE2-NEXT:    cvttss2si %xmm0, %rcx
-; SSE2-NEXT:    ucomiss %xmm2, %xmm0
-; SSE2-NEXT:    cmovaeq %rax, %rcx
-; SSE2-NEXT:    movd %rcx, %xmm0
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
-; SSE2-NEXT:    movdqa %xmm1, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_2f32_to_2i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    movss {{.*#+}} xmm2 = mem[0],zero,zero,zero
+; SSE-NEXT:    movaps %xmm0, %xmm1
+; SSE-NEXT:    subss %xmm2, %xmm1
+; SSE-NEXT:    cvttss2si %xmm1, %rax
+; SSE-NEXT:    movabsq $-9223372036854775808, %rcx # imm = 0x8000000000000000
+; SSE-NEXT:    xorq %rcx, %rax
+; SSE-NEXT:    cvttss2si %xmm0, %rdx
+; SSE-NEXT:    ucomiss %xmm2, %xmm0
+; SSE-NEXT:    cmovaeq %rax, %rdx
+; SSE-NEXT:    movd %rdx, %xmm1
+; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; SSE-NEXT:    movaps %xmm0, %xmm3
+; SSE-NEXT:    subss %xmm2, %xmm3
+; SSE-NEXT:    cvttss2si %xmm3, %rax
+; SSE-NEXT:    xorq %rcx, %rax
+; SSE-NEXT:    cvttss2si %xmm0, %rcx
+; SSE-NEXT:    ucomiss %xmm2, %xmm0
+; SSE-NEXT:    cmovaeq %rax, %rcx
+; SSE-NEXT:    movd %rcx, %xmm0
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
+; SSE-NEXT:    movdqa %xmm1, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_2f32_to_2i64:
 ; AVX:       # BB#0:
@@ -590,42 +590,42 @@ define <2 x i64> @fptoui_2f32_to_2i64(<4
 }
 
 define <8 x i32> @fptoui_8f32_to_8i32(<8 x float> %a) {
-; SSE2-LABEL: fptoui_8f32_to_8i32:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps %xmm0, %xmm2
-; SSE2-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    movd %eax, %xmm0
-; SSE2-NEXT:    movaps %xmm2, %xmm3
-; SSE2-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm3, %rax
-; SSE2-NEXT:    movd %eax, %xmm3
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]
-; SSE2-NEXT:    cvttss2si %xmm2, %rax
-; SSE2-NEXT:    movd %eax, %xmm0
-; SSE2-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1,0]
-; SSE2-NEXT:    cvttss2si %xmm2, %rax
-; SSE2-NEXT:    movd %eax, %xmm2
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
-; SSE2-NEXT:    movaps %xmm1, %xmm2
-; SSE2-NEXT:    shufps {{.*#+}} xmm2 = xmm2[3,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm2, %rax
-; SSE2-NEXT:    movd %eax, %xmm2
-; SSE2-NEXT:    movaps %xmm1, %xmm3
-; SSE2-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
-; SSE2-NEXT:    cvttss2si %xmm3, %rax
-; SSE2-NEXT:    movd %eax, %xmm3
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
-; SSE2-NEXT:    cvttss2si %xmm1, %rax
-; SSE2-NEXT:    movd %eax, %xmm2
-; SSE2-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
-; SSE2-NEXT:    cvttss2si %xmm1, %rax
-; SSE2-NEXT:    movd %eax, %xmm1
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
-; SSE2-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
-; SSE2-NEXT:    movdqa %xmm2, %xmm1
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_8f32_to_8i32:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps %xmm0, %xmm2
+; SSE-NEXT:    shufps {{.*#+}} xmm0 = xmm0[3,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    movd %eax, %xmm0
+; SSE-NEXT:    movaps %xmm2, %xmm3
+; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm3, %rax
+; SSE-NEXT:    movd %eax, %xmm3
+; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]
+; SSE-NEXT:    cvttss2si %xmm2, %rax
+; SSE-NEXT:    movd %eax, %xmm0
+; SSE-NEXT:    shufpd {{.*#+}} xmm2 = xmm2[1,0]
+; SSE-NEXT:    cvttss2si %xmm2, %rax
+; SSE-NEXT:    movd %eax, %xmm2
+; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
+; SSE-NEXT:    punpckldq {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
+; SSE-NEXT:    movaps %xmm1, %xmm2
+; SSE-NEXT:    shufps {{.*#+}} xmm2 = xmm2[3,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm2, %rax
+; SSE-NEXT:    movd %eax, %xmm2
+; SSE-NEXT:    movaps %xmm1, %xmm3
+; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
+; SSE-NEXT:    cvttss2si %xmm3, %rax
+; SSE-NEXT:    movd %eax, %xmm3
+; SSE-NEXT:    punpckldq {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
+; SSE-NEXT:    cvttss2si %xmm1, %rax
+; SSE-NEXT:    movd %eax, %xmm2
+; SSE-NEXT:    shufpd {{.*#+}} xmm1 = xmm1[1,0]
+; SSE-NEXT:    cvttss2si %xmm1, %rax
+; SSE-NEXT:    movd %eax, %xmm1
+; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm1[0],xmm2[1],xmm1[1]
+; SSE-NEXT:    punpckldq {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
+; SSE-NEXT:    movdqa %xmm2, %xmm1
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_8f32_to_8i32:
 ; AVX:       # BB#0:
@@ -659,51 +659,51 @@ define <8 x i32> @fptoui_8f32_to_8i32(<8
 }
 
 define <4 x i64> @fptoui_4f32_to_4i64(<8 x float> %a) {
-; SSE2-LABEL: fptoui_4f32_to_4i64:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
-; SSE2-NEXT:    movaps %xmm0, %xmm2
-; SSE2-NEXT:    subss %xmm1, %xmm2
-; SSE2-NEXT:    cvttss2si %xmm2, %rcx
-; SSE2-NEXT:    movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttss2si %xmm0, %rdx
-; SSE2-NEXT:    ucomiss %xmm1, %xmm0
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm2
-; SSE2-NEXT:    movaps %xmm0, %xmm3
-; SSE2-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
-; SSE2-NEXT:    movaps %xmm3, %xmm4
-; SSE2-NEXT:    subss %xmm1, %xmm4
-; SSE2-NEXT:    cvttss2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttss2si %xmm3, %rdx
-; SSE2-NEXT:    ucomiss %xmm1, %xmm3
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm3
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
-; SSE2-NEXT:    movaps %xmm0, %xmm3
-; SSE2-NEXT:    shufps {{.*#+}} xmm3 = xmm3[3,1,2,3]
-; SSE2-NEXT:    movaps %xmm3, %xmm4
-; SSE2-NEXT:    subss %xmm1, %xmm4
-; SSE2-NEXT:    cvttss2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttss2si %xmm3, %rdx
-; SSE2-NEXT:    ucomiss %xmm1, %xmm3
-; SSE2-NEXT:    cmovaeq %rcx, %rdx
-; SSE2-NEXT:    movd %rdx, %xmm3
-; SSE2-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
-; SSE2-NEXT:    movapd %xmm0, %xmm4
-; SSE2-NEXT:    subss %xmm1, %xmm4
-; SSE2-NEXT:    cvttss2si %xmm4, %rcx
-; SSE2-NEXT:    xorq %rax, %rcx
-; SSE2-NEXT:    cvttss2si %xmm0, %rax
-; SSE2-NEXT:    ucomiss %xmm1, %xmm0
-; SSE2-NEXT:    cmovaeq %rcx, %rax
-; SSE2-NEXT:    movd %rax, %xmm1
-; SSE2-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
-; SSE2-NEXT:    movdqa %xmm2, %xmm0
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f32_to_4i64:
+; SSE:       # BB#0:
+; SSE-NEXT:    movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
+; SSE-NEXT:    movaps %xmm0, %xmm2
+; SSE-NEXT:    subss %xmm1, %xmm2
+; SSE-NEXT:    cvttss2si %xmm2, %rcx
+; SSE-NEXT:    movabsq $-9223372036854775808, %rax # imm = 0x8000000000000000
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttss2si %xmm0, %rdx
+; SSE-NEXT:    ucomiss %xmm1, %xmm0
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm2
+; SSE-NEXT:    movaps %xmm0, %xmm3
+; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
+; SSE-NEXT:    movaps %xmm3, %xmm4
+; SSE-NEXT:    subss %xmm1, %xmm4
+; SSE-NEXT:    cvttss2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttss2si %xmm3, %rdx
+; SSE-NEXT:    ucomiss %xmm1, %xmm3
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm3
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
+; SSE-NEXT:    movaps %xmm0, %xmm3
+; SSE-NEXT:    shufps {{.*#+}} xmm3 = xmm3[3,1,2,3]
+; SSE-NEXT:    movaps %xmm3, %xmm4
+; SSE-NEXT:    subss %xmm1, %xmm4
+; SSE-NEXT:    cvttss2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttss2si %xmm3, %rdx
+; SSE-NEXT:    ucomiss %xmm1, %xmm3
+; SSE-NEXT:    cmovaeq %rcx, %rdx
+; SSE-NEXT:    movd %rdx, %xmm3
+; SSE-NEXT:    shufpd {{.*#+}} xmm0 = xmm0[1,0]
+; SSE-NEXT:    movapd %xmm0, %xmm4
+; SSE-NEXT:    subss %xmm1, %xmm4
+; SSE-NEXT:    cvttss2si %xmm4, %rcx
+; SSE-NEXT:    xorq %rax, %rcx
+; SSE-NEXT:    cvttss2si %xmm0, %rax
+; SSE-NEXT:    ucomiss %xmm1, %xmm0
+; SSE-NEXT:    cmovaeq %rcx, %rax
+; SSE-NEXT:    movd %rax, %xmm1
+; SSE-NEXT:    punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
+; SSE-NEXT:    movdqa %xmm2, %xmm0
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f32_to_4i64:
 ; AVX:       # BB#0:
@@ -754,10 +754,10 @@ define <4 x i64> @fptoui_4f32_to_4i64(<8
 ;
 
 define <2 x i64> @fptosi_2f64_to_2i64_const() {
-; SSE2-LABEL: fptosi_2f64_to_2i64_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,18446744073709551615]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_2f64_to_2i64_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,18446744073709551615]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_2f64_to_2i64_const:
 ; AVX:       # BB#0:
@@ -768,10 +768,10 @@ define <2 x i64> @fptosi_2f64_to_2i64_co
 }
 
 define <4 x i32> @fptosi_2f64_to_2i32_const() {
-; SSE2-LABEL: fptosi_2f64_to_2i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = <4294967295,1,u,u>
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_2f64_to_2i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = <4294967295,1,u,u>
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_2f64_to_2i32_const:
 ; AVX:       # BB#0:
@@ -783,11 +783,11 @@ define <4 x i32> @fptosi_2f64_to_2i32_co
 }
 
 define <4 x i64> @fptosi_4f64_to_4i64_const() {
-; SSE2-LABEL: fptosi_4f64_to_4i64_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,18446744073709551615]
-; SSE2-NEXT:    movaps {{.*#+}} xmm1 = [2,18446744073709551613]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f64_to_4i64_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,18446744073709551615]
+; SSE-NEXT:    movaps {{.*#+}} xmm1 = [2,18446744073709551613]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f64_to_4i64_const:
 ; AVX:       # BB#0:
@@ -798,10 +798,10 @@ define <4 x i64> @fptosi_4f64_to_4i64_co
 }
 
 define <4 x i32> @fptosi_4f64_to_4i32_const() {
-; SSE2-LABEL: fptosi_4f64_to_4i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [4294967295,1,4294967294,3]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f64_to_4i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [4294967295,1,4294967294,3]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f64_to_4i32_const:
 ; AVX:       # BB#0:
@@ -812,10 +812,10 @@ define <4 x i32> @fptosi_4f64_to_4i32_co
 }
 
 define <2 x i64> @fptoui_2f64_to_2i64_const() {
-; SSE2-LABEL: fptoui_2f64_to_2i64_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [2,4]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_2f64_to_2i64_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [2,4]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_2f64_to_2i64_const:
 ; AVX:       # BB#0:
@@ -826,10 +826,10 @@ define <2 x i64> @fptoui_2f64_to_2i64_co
 }
 
 define <4 x i32> @fptoui_2f64_to_2i32_const(<2 x double> %a) {
-; SSE2-LABEL: fptoui_2f64_to_2i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = <2,4,u,u>
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_2f64_to_2i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = <2,4,u,u>
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_2f64_to_2i32_const:
 ; AVX:       # BB#0:
@@ -841,11 +841,11 @@ define <4 x i32> @fptoui_2f64_to_2i32_co
 }
 
 define <4 x i64> @fptoui_4f64_to_4i64_const(<4 x double> %a) {
-; SSE2-LABEL: fptoui_4f64_to_4i64_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [2,4]
-; SSE2-NEXT:    movaps {{.*#+}} xmm1 = [6,8]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f64_to_4i64_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [2,4]
+; SSE-NEXT:    movaps {{.*#+}} xmm1 = [6,8]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f64_to_4i64_const:
 ; AVX:       # BB#0:
@@ -856,10 +856,10 @@ define <4 x i64> @fptoui_4f64_to_4i64_co
 }
 
 define <4 x i32> @fptoui_4f64_to_4i32_const(<4 x double> %a) {
-; SSE2-LABEL: fptoui_4f64_to_4i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [2,4,6,8]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f64_to_4i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [2,4,6,8]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f64_to_4i32_const:
 ; AVX:       # BB#0:
@@ -870,10 +870,10 @@ define <4 x i32> @fptoui_4f64_to_4i32_co
 }
 
 define <4 x i32> @fptosi_4f32_to_4i32_const() {
-; SSE2-LABEL: fptosi_4f32_to_4i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,4294967295,2,3]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f32_to_4i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,4294967295,2,3]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f32_to_4i32_const:
 ; AVX:       # BB#0:
@@ -884,11 +884,11 @@ define <4 x i32> @fptosi_4f32_to_4i32_co
 }
 
 define <4 x i64> @fptosi_4f32_to_4i64_const() {
-; SSE2-LABEL: fptosi_4f32_to_4i64_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,18446744073709551615]
-; SSE2-NEXT:    movaps {{.*#+}} xmm1 = [2,3]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_4f32_to_4i64_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,18446744073709551615]
+; SSE-NEXT:    movaps {{.*#+}} xmm1 = [2,3]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_4f32_to_4i64_const:
 ; AVX:       # BB#0:
@@ -899,11 +899,11 @@ define <4 x i64> @fptosi_4f32_to_4i64_co
 }
 
 define <8 x i32> @fptosi_8f32_to_8i32_const(<8 x float> %a) {
-; SSE2-LABEL: fptosi_8f32_to_8i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,4294967295,2,3]
-; SSE2-NEXT:    movaps {{.*#+}} xmm1 = [6,4294967288,2,4294967295]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptosi_8f32_to_8i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,4294967295,2,3]
+; SSE-NEXT:    movaps {{.*#+}} xmm1 = [6,4294967288,2,4294967295]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptosi_8f32_to_8i32_const:
 ; AVX:       # BB#0:
@@ -914,10 +914,10 @@ define <8 x i32> @fptosi_8f32_to_8i32_co
 }
 
 define <4 x i32> @fptoui_4f32_to_4i32_const(<4 x float> %a) {
-; SSE2-LABEL: fptoui_4f32_to_4i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,2,4,6]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f32_to_4i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,2,4,6]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f32_to_4i32_const:
 ; AVX:       # BB#0:
@@ -928,11 +928,11 @@ define <4 x i32> @fptoui_4f32_to_4i32_co
 }
 
 define <4 x i64> @fptoui_4f32_to_4i64_const() {
-; SSE2-LABEL: fptoui_4f32_to_4i64_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,2]
-; SSE2-NEXT:    movaps {{.*#+}} xmm1 = [4,8]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_4f32_to_4i64_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,2]
+; SSE-NEXT:    movaps {{.*#+}} xmm1 = [4,8]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_4f32_to_4i64_const:
 ; AVX:       # BB#0:
@@ -943,11 +943,11 @@ define <4 x i64> @fptoui_4f32_to_4i64_co
 }
 
 define <8 x i32> @fptoui_8f32_to_8i32_const(<8 x float> %a) {
-; SSE2-LABEL: fptoui_8f32_to_8i32_const:
-; SSE2:       # BB#0:
-; SSE2-NEXT:    movaps {{.*#+}} xmm0 = [1,2,4,6]
-; SSE2-NEXT:    movaps {{.*#+}} xmm1 = [8,6,4,1]
-; SSE2-NEXT:    retq
+; SSE-LABEL: fptoui_8f32_to_8i32_const:
+; SSE:       # BB#0:
+; SSE-NEXT:    movaps {{.*#+}} xmm0 = [1,2,4,6]
+; SSE-NEXT:    movaps {{.*#+}} xmm1 = [8,6,4,1]
+; SSE-NEXT:    retq
 ;
 ; AVX-LABEL: fptoui_8f32_to_8i32_const:
 ; AVX:       # BB#0:





More information about the llvm-commits mailing list