[llvm] ed11f25 - [X86] divide-by-constant.ll - replace X32 check prefixes with X86

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 31 04:09:09 PST 2024


Author: Simon Pilgrim
Date: 2024-01-31T12:01:02Z
New Revision: ed11f255a89f6eb3713a3d4f2b241317a41be40c

URL: https://github.com/llvm/llvm-project/commit/ed11f255a89f6eb3713a3d4f2b241317a41be40c
DIFF: https://github.com/llvm/llvm-project/commit/ed11f255a89f6eb3713a3d4f2b241317a41be40c.diff

LOG: [X86] divide-by-constant.ll - replace X32 check prefixes with X86

We try to only use X32 for gnux32 triple tests.

Added: 
    

Modified: 
    llvm/test/CodeGen/X86/divide-by-constant.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/X86/divide-by-constant.ll b/llvm/test/CodeGen/X86/divide-by-constant.ll
index ba150e7ea405e..ac78136b9d8ea 100644
--- a/llvm/test/CodeGen/X86/divide-by-constant.ll
+++ b/llvm/test/CodeGen/X86/divide-by-constant.ll
@@ -1,16 +1,16 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=i686-pc-linux-gnu | FileCheck %s --check-prefix=X32
-; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu | FileCheck %s --check-prefix=X64 --check-prefix=X64-FAST
-; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu -mattr=idivq-to-divl | FileCheck %s --check-prefix=X64 --check-prefix=X64-SLOW
+; RUN: llc < %s -mtriple=i686-pc-linux-gnu | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu | FileCheck %s --check-prefixes=X64,X64-FAST
+; RUN: llc < %s -mtriple=x86_64-pc-linux-gnu -mattr=idivq-to-divl | FileCheck %s --check-prefixes=X64,X64-SLOW
 
 define zeroext i16 @test1(i16 zeroext %x) nounwind {
-; X32-LABEL: test1:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    imull $63551, %eax, %eax # imm = 0xF83F
-; X32-NEXT:    shrl $21, %eax
-; X32-NEXT:    # kill: def $ax killed $ax killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test1:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    imull $63551, %eax, %eax # imm = 0xF83F
+; X86-NEXT:    shrl $21, %eax
+; X86-NEXT:    # kill: def $ax killed $ax killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test1:
 ; X64:       # %bb.0: # %entry
@@ -19,18 +19,18 @@ define zeroext i16 @test1(i16 zeroext %x) nounwind {
 ; X64-NEXT:    # kill: def $ax killed $ax killed $eax
 ; X64-NEXT:    retq
 entry:
-	%div = udiv i16 %x, 33
-	ret i16 %div
+  %div = udiv i16 %x, 33
+  ret i16 %div
 }
 
 define zeroext i16 @test2(i8 signext %x, i16 zeroext %c) nounwind readnone ssp noredzone {
-; X32-LABEL: test2:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    imull $43691, %eax, %eax # imm = 0xAAAB
-; X32-NEXT:    shrl $17, %eax
-; X32-NEXT:    # kill: def $ax killed $ax killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test2:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movzwl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    imull $43691, %eax, %eax # imm = 0xAAAB
+; X86-NEXT:    shrl $17, %eax
+; X86-NEXT:    # kill: def $ax killed $ax killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test2:
 ; X64:       # %bb.0: # %entry
@@ -45,13 +45,13 @@ entry:
 }
 
 define zeroext i8 @test3(i8 zeroext %x, i8 zeroext %c) nounwind readnone ssp noredzone {
-; X32-LABEL: test3:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    imull $171, %eax, %eax
-; X32-NEXT:    shrl $9, %eax
-; X32-NEXT:    # kill: def $al killed $al killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test3:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    imull $171, %eax, %eax
+; X86-NEXT:    shrl $9, %eax
+; X86-NEXT:    # kill: def $al killed $al killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test3:
 ; X64:       # %bb.0: # %entry
@@ -65,16 +65,16 @@ entry:
 }
 
 define signext i16 @test4(i16 signext %x) nounwind {
-; X32-LABEL: test4:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movswl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    imull $1986, %eax, %eax # imm = 0x7C2
-; X32-NEXT:    movl %eax, %ecx
-; X32-NEXT:    shrl $31, %ecx
-; X32-NEXT:    shrl $16, %eax
-; X32-NEXT:    addl %ecx, %eax
-; X32-NEXT:    # kill: def $ax killed $ax killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test4:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movswl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    imull $1986, %eax, %eax # imm = 0x7C2
+; X86-NEXT:    movl %eax, %ecx
+; X86-NEXT:    shrl $31, %ecx
+; X86-NEXT:    shrl $16, %eax
+; X86-NEXT:    addl %ecx, %eax
+; X86-NEXT:    # kill: def $ax killed $ax killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test4:
 ; X64:       # %bb.0: # %entry
@@ -86,18 +86,18 @@ define signext i16 @test4(i16 signext %x) nounwind {
 ; X64-NEXT:    # kill: def $ax killed $ax killed $eax
 ; X64-NEXT:    retq
 entry:
-	%div = sdiv i16 %x, 33		; <i32> [#uses=1]
-	ret i16 %div
+  %div = sdiv i16 %x, 33		; <i32> [#uses=1]
+  ret i16 %div
 }
 
 define i32 @test5(i32 %A) nounwind {
-; X32-LABEL: test5:
-; X32:       # %bb.0:
-; X32-NEXT:    movl $365384439, %eax # imm = 0x15C752F7
-; X32-NEXT:    mull {{[0-9]+}}(%esp)
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shrl $27, %eax
-; X32-NEXT:    retl
+; X86-LABEL: test5:
+; X86:       # %bb.0:
+; X86-NEXT:    movl $365384439, %eax # imm = 0x15C752F7
+; X86-NEXT:    mull {{[0-9]+}}(%esp)
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shrl $27, %eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test5:
 ; X64:       # %bb.0:
@@ -106,21 +106,21 @@ define i32 @test5(i32 %A) nounwind {
 ; X64-NEXT:    shrq $59, %rax
 ; X64-NEXT:    # kill: def $eax killed $eax killed $rax
 ; X64-NEXT:    retq
-        %tmp1 = udiv i32 %A, 1577682821         ; <i32> [#uses=1]
-        ret i32 %tmp1
+  %tmp1 = udiv i32 %A, 1577682821         ; <i32> [#uses=1]
+  ret i32 %tmp1
 }
 
 define signext i16 @test6(i16 signext %x) nounwind {
-; X32-LABEL: test6:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movswl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    imull $26215, %eax, %eax # imm = 0x6667
-; X32-NEXT:    movl %eax, %ecx
-; X32-NEXT:    shrl $31, %ecx
-; X32-NEXT:    sarl $18, %eax
-; X32-NEXT:    addl %ecx, %eax
-; X32-NEXT:    # kill: def $ax killed $ax killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test6:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movswl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    imull $26215, %eax, %eax # imm = 0x6667
+; X86-NEXT:    movl %eax, %ecx
+; X86-NEXT:    shrl $31, %ecx
+; X86-NEXT:    sarl $18, %eax
+; X86-NEXT:    addl %ecx, %eax
+; X86-NEXT:    # kill: def $ax killed $ax killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test6:
 ; X64:       # %bb.0: # %entry
@@ -137,14 +137,14 @@ entry:
 }
 
 define i32 @test7(i32 %x) nounwind {
-; X32-LABEL: test7:
-; X32:       # %bb.0:
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    shrl $2, %eax
-; X32-NEXT:    movl $613566757, %ecx # imm = 0x24924925
-; X32-NEXT:    mull %ecx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    retl
+; X86-LABEL: test7:
+; X86:       # %bb.0:
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    shrl $2, %eax
+; X86-NEXT:    movl $613566757, %ecx # imm = 0x24924925
+; X86-NEXT:    mull %ecx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test7:
 ; X64:       # %bb.0:
@@ -160,15 +160,15 @@ define i32 @test7(i32 %x) nounwind {
 
 ; PR13326
 define i8 @test8(i8 %x) nounwind {
-; X32-LABEL: test8:
-; X32:       # %bb.0:
-; X32-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    shrb %al
-; X32-NEXT:    movzbl %al, %eax
-; X32-NEXT:    imull $211, %eax, %eax
-; X32-NEXT:    shrl $13, %eax
-; X32-NEXT:    # kill: def $al killed $al killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test8:
+; X86:       # %bb.0:
+; X86-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    shrb %al
+; X86-NEXT:    movzbl %al, %eax
+; X86-NEXT:    imull $211, %eax, %eax
+; X86-NEXT:    shrl $13, %eax
+; X86-NEXT:    # kill: def $al killed $al killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test8:
 ; X64:       # %bb.0:
@@ -183,15 +183,15 @@ define i8 @test8(i8 %x) nounwind {
 }
 
 define i8 @test9(i8 %x) nounwind {
-; X32-LABEL: test9:
-; X32:       # %bb.0:
-; X32-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    shrb $2, %al
-; X32-NEXT:    movzbl %al, %eax
-; X32-NEXT:    imull $71, %eax, %eax
-; X32-NEXT:    shrl $11, %eax
-; X32-NEXT:    # kill: def $al killed $al killed $eax
-; X32-NEXT:    retl
+; X86-LABEL: test9:
+; X86:       # %bb.0:
+; X86-NEXT:    movzbl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    shrb $2, %al
+; X86-NEXT:    movzbl %al, %eax
+; X86-NEXT:    imull $71, %eax, %eax
+; X86-NEXT:    shrl $11, %eax
+; X86-NEXT:    # kill: def $al killed $al killed $eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: test9:
 ; X64:       # %bb.0:
@@ -206,14 +206,14 @@ define i8 @test9(i8 %x) nounwind {
 }
 
 define i32 @testsize1(i32 %x) minsize nounwind {
-; X32-LABEL: testsize1:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    pushl $32
-; X32-NEXT:    popl %ecx
-; X32-NEXT:    cltd
-; X32-NEXT:    idivl %ecx
-; X32-NEXT:    retl
+; X86-LABEL: testsize1:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    pushl $32
+; X86-NEXT:    popl %ecx
+; X86-NEXT:    cltd
+; X86-NEXT:    idivl %ecx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: testsize1:
 ; X64:       # %bb.0: # %entry
@@ -224,19 +224,19 @@ define i32 @testsize1(i32 %x) minsize nounwind {
 ; X64-NEXT:    idivl %ecx
 ; X64-NEXT:    retq
 entry:
-	%div = sdiv i32 %x, 32
-	ret i32 %div
+  %div = sdiv i32 %x, 32
+  ret i32 %div
 }
 
 define i32 @testsize2(i32 %x) minsize nounwind {
-; X32-LABEL: testsize2:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    pushl $33
-; X32-NEXT:    popl %ecx
-; X32-NEXT:    cltd
-; X32-NEXT:    idivl %ecx
-; X32-NEXT:    retl
+; X86-LABEL: testsize2:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    pushl $33
+; X86-NEXT:    popl %ecx
+; X86-NEXT:    cltd
+; X86-NEXT:    idivl %ecx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: testsize2:
 ; X64:       # %bb.0: # %entry
@@ -247,16 +247,16 @@ define i32 @testsize2(i32 %x) minsize nounwind {
 ; X64-NEXT:    idivl %ecx
 ; X64-NEXT:    retq
 entry:
-	%div = sdiv i32 %x, 33
-	ret i32 %div
+  %div = sdiv i32 %x, 33
+  ret i32 %div
 }
 
 define i32 @testsize3(i32 %x) minsize nounwind {
-; X32-LABEL: testsize3:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    shrl $5, %eax
-; X32-NEXT:    retl
+; X86-LABEL: testsize3:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    shrl $5, %eax
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: testsize3:
 ; X64:       # %bb.0: # %entry
@@ -264,19 +264,19 @@ define i32 @testsize3(i32 %x) minsize nounwind {
 ; X64-NEXT:    shrl $5, %eax
 ; X64-NEXT:    retq
 entry:
-	%div = udiv i32 %x, 32
-	ret i32 %div
+  %div = udiv i32 %x, 32
+  ret i32 %div
 }
 
 define i32 @testsize4(i32 %x) minsize nounwind {
-; X32-LABEL: testsize4:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax
-; X32-NEXT:    pushl $33
-; X32-NEXT:    popl %ecx
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    divl %ecx
-; X32-NEXT:    retl
+; X86-LABEL: testsize4:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT:    pushl $33
+; X86-NEXT:    popl %ecx
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    divl %ecx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: testsize4:
 ; X64:       # %bb.0: # %entry
@@ -287,27 +287,27 @@ define i32 @testsize4(i32 %x) minsize nounwind {
 ; X64-NEXT:    divl %ecx
 ; X64-NEXT:    retq
 entry:
-	%div = udiv i32 %x, 33
-	ret i32 %div
+  %div = udiv i32 %x, 33
+  ret i32 %div
 }
 
 define i64 @PR23590(i64 %x) nounwind {
-; X32-LABEL: PR23590:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    subl $12, %esp
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $12345 # imm = 0x3039
-; X32-NEXT:    pushl {{[0-9]+}}(%esp)
-; X32-NEXT:    pushl {{[0-9]+}}(%esp)
-; X32-NEXT:    calll __umoddi3
-; X32-NEXT:    addl $16, %esp
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $7
-; X32-NEXT:    pushl %edx
-; X32-NEXT:    pushl %eax
-; X32-NEXT:    calll __udivdi3
-; X32-NEXT:    addl $28, %esp
-; X32-NEXT:    retl
+; X86-LABEL: PR23590:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    subl $12, %esp
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $12345 # imm = 0x3039
+; X86-NEXT:    pushl {{[0-9]+}}(%esp)
+; X86-NEXT:    pushl {{[0-9]+}}(%esp)
+; X86-NEXT:    calll __umoddi3
+; X86-NEXT:    addl $16, %esp
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $7
+; X86-NEXT:    pushl %edx
+; X86-NEXT:    pushl %eax
+; X86-NEXT:    calll __udivdi3
+; X86-NEXT:    addl $28, %esp
+; X86-NEXT:    retl
 ;
 ; X64-FAST-LABEL: PR23590:
 ; X64-FAST:       # %bb.0: # %entry
@@ -335,44 +335,44 @@ define i64 @PR23590(i64 %x) nounwind {
 ; X64-SLOW-NEXT:    shrq $32, %rax
 ; X64-SLOW-NEXT:    retq
 entry:
-	%rem = urem i64 %x, 12345
-	%div = udiv i64 %rem, 7
-	ret i64 %div
+  %rem = urem i64 %x, 12345
+  %div = udiv i64 %rem, 7
+  ret i64 %div
 }
 
 define { i64, i32 } @PR38622(i64) nounwind {
-; X32-LABEL: PR38622:
-; X32:       # %bb.0:
-; X32-NEXT:    pushl %ebp
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    subl $12, %esp
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebp
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
-; X32-NEXT:    pushl %ebp
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    calll __udivdi3
-; X32-NEXT:    addl $16, %esp
-; X32-NEXT:    movl %eax, %esi
-; X32-NEXT:    movl %edx, %edi
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
-; X32-NEXT:    pushl %ebp
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    calll __umoddi3
-; X32-NEXT:    addl $16, %esp
-; X32-NEXT:    movl %eax, %ecx
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    movl %edi, %edx
-; X32-NEXT:    addl $12, %esp
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    popl %ebp
-; X32-NEXT:    retl
+; X86-LABEL: PR38622:
+; X86:       # %bb.0:
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    subl $12, %esp
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ebx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ebp
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    calll __udivdi3
+; X86-NEXT:    addl $16, %esp
+; X86-NEXT:    movl %eax, %esi
+; X86-NEXT:    movl %edx, %edi
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    calll __umoddi3
+; X86-NEXT:    addl $16, %esp
+; X86-NEXT:    movl %eax, %ecx
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    movl %edi, %edx
+; X86-NEXT:    addl $12, %esp
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    popl %ebp
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: PR38622:
 ; X64:       # %bb.0:
@@ -395,38 +395,38 @@ define { i64, i32 } @PR38622(i64) nounwind {
 }
 
 define { i64, i32 } @PR38622_signed(i64) nounwind {
-; X32-LABEL: PR38622_signed:
-; X32:       # %bb.0:
-; X32-NEXT:    pushl %ebp
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    subl $12, %esp
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ebp
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
-; X32-NEXT:    pushl %ebp
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    calll __divdi3
-; X32-NEXT:    addl $16, %esp
-; X32-NEXT:    movl %eax, %esi
-; X32-NEXT:    movl %edx, %edi
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
-; X32-NEXT:    pushl %ebp
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    calll __moddi3
-; X32-NEXT:    addl $16, %esp
-; X32-NEXT:    movl %eax, %ecx
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    movl %edi, %edx
-; X32-NEXT:    addl $12, %esp
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    popl %ebp
-; X32-NEXT:    retl
+; X86-LABEL: PR38622_signed:
+; X86:       # %bb.0:
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    subl $12, %esp
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ebx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ebp
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    calll __divdi3
+; X86-NEXT:    addl $16, %esp
+; X86-NEXT:    movl %eax, %esi
+; X86-NEXT:    movl %edx, %edi
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $-294967296 # imm = 0xEE6B2800
+; X86-NEXT:    pushl %ebp
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    calll __moddi3
+; X86-NEXT:    addl $16, %esp
+; X86-NEXT:    movl %eax, %ecx
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    movl %edi, %edx
+; X86-NEXT:    addl $12, %esp
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    popl %ebp
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: PR38622_signed:
 ; X64:       # %bb.0:
@@ -450,20 +450,20 @@ define { i64, i32 } @PR38622_signed(i64) nounwind {
 }
 
 define i64 @urem_i64_3(i64 %x) nounwind {
-; X32-LABEL: urem_i64_3:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    addl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-1431655765, %edx # imm = 0xAAAAAAAB
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl %edx
-; X32-NEXT:    leal (%edx,%edx,2), %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_3:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    addl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-1431655765, %edx # imm = 0xAAAAAAAB
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl %edx
+; X86-NEXT:    leal (%edx,%edx,2), %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_3:
 ; X64:       # %bb.0: # %entry
@@ -481,20 +481,20 @@ entry:
 }
 
 define i64 @urem_i64_5(i64 %x) nounwind {
-; X32-LABEL: urem_i64_5:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    addl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-858993459, %edx # imm = 0xCCCCCCCD
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $2, %edx
-; X32-NEXT:    leal (%edx,%edx,4), %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_5:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    addl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-858993459, %edx # imm = 0xCCCCCCCD
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $2, %edx
+; X86-NEXT:    leal (%edx,%edx,4), %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_5:
 ; X64:       # %bb.0: # %entry
@@ -512,21 +512,21 @@ entry:
 }
 
 define i64 @urem_i64_15(i64 %x) nounwind {
-; X32-LABEL: urem_i64_15:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    addl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-2004318071, %edx # imm = 0x88888889
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $3, %edx
-; X32-NEXT:    leal (%edx,%edx,4), %eax
-; X32-NEXT:    leal (%eax,%eax,2), %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_15:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    addl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-2004318071, %edx # imm = 0x88888889
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $3, %edx
+; X86-NEXT:    leal (%edx,%edx,4), %eax
+; X86-NEXT:    leal (%eax,%eax,2), %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_15:
 ; X64:       # %bb.0: # %entry
@@ -545,22 +545,22 @@ entry:
 }
 
 define i64 @urem_i64_17(i64 %x) nounwind {
-; X32-LABEL: urem_i64_17:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    addl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-252645135, %edx # imm = 0xF0F0F0F1
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    andl $-16, %eax
-; X32-NEXT:    shrl $4, %edx
-; X32-NEXT:    addl %eax, %edx
-; X32-NEXT:    subl %edx, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_17:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    addl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-252645135, %edx # imm = 0xF0F0F0F1
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    andl $-16, %eax
+; X86-NEXT:    shrl $4, %edx
+; X86-NEXT:    addl %eax, %edx
+; X86-NEXT:    subl %edx, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_17:
 ; X64:       # %bb.0: # %entry
@@ -580,26 +580,26 @@ entry:
 }
 
 define i64 @urem_i64_255(i64 %x) nounwind {
-; X32-LABEL: urem_i64_255:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    addl %esi, %eax
-; X32-NEXT:    adcl $0, %eax
-; X32-NEXT:    movl $-2139062143, %edx # imm = 0x80808081
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $7, %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shll $8, %eax
-; X32-NEXT:    subl %eax, %edx
-; X32-NEXT:    addl %esi, %ecx
-; X32-NEXT:    adcl %edx, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_255:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    addl %esi, %eax
+; X86-NEXT:    adcl $0, %eax
+; X86-NEXT:    movl $-2139062143, %edx # imm = 0x80808081
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $7, %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shll $8, %eax
+; X86-NEXT:    subl %eax, %edx
+; X86-NEXT:    addl %esi, %ecx
+; X86-NEXT:    adcl %edx, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_255:
 ; X64:       # %bb.0: # %entry
@@ -618,22 +618,22 @@ entry:
 }
 
 define i64 @urem_i64_257(i64 %x) nounwind {
-; X32-LABEL: urem_i64_257:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    addl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-16711935, %edx # imm = 0xFF00FF01
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    andl $-256, %eax
-; X32-NEXT:    shrl $8, %edx
-; X32-NEXT:    addl %eax, %edx
-; X32-NEXT:    subl %edx, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_257:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    addl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-16711935, %edx # imm = 0xFF00FF01
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    andl $-256, %eax
+; X86-NEXT:    shrl $8, %edx
+; X86-NEXT:    addl %eax, %edx
+; X86-NEXT:    subl %edx, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_257:
 ; X64:       # %bb.0: # %entry
@@ -653,26 +653,26 @@ entry:
 }
 
 define i64 @urem_i64_65535(i64 %x) nounwind {
-; X32-LABEL: urem_i64_65535:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    addl %esi, %eax
-; X32-NEXT:    adcl $0, %eax
-; X32-NEXT:    movl $-2147450879, %edx # imm = 0x80008001
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $15, %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shll $16, %eax
-; X32-NEXT:    subl %eax, %edx
-; X32-NEXT:    addl %esi, %ecx
-; X32-NEXT:    adcl %edx, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_65535:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    addl %esi, %eax
+; X86-NEXT:    adcl $0, %eax
+; X86-NEXT:    movl $-2147450879, %edx # imm = 0x80008001
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $15, %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shll $16, %eax
+; X86-NEXT:    subl %eax, %edx
+; X86-NEXT:    addl %esi, %ecx
+; X86-NEXT:    adcl %edx, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_65535:
 ; X64:       # %bb.0: # %entry
@@ -691,21 +691,21 @@ entry:
 }
 
 define i64 @urem_i64_65537(i64 %x) nounwind {
-; X32-LABEL: urem_i64_65537:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    addl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-65535, %edx # imm = 0xFFFF0001
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shrl $16, %eax
-; X32-NEXT:    shldl $16, %edx, %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_65537:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    addl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-65535, %edx # imm = 0xFFFF0001
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shrl $16, %eax
+; X86-NEXT:    shldl $16, %edx, %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_65537:
 ; X64:       # %bb.0: # %entry
@@ -725,27 +725,27 @@ entry:
 }
 
 define i64 @urem_i64_12(i64 %x) nounwind {
-; X32-LABEL: urem_i64_12:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    shrl $2, %eax
-; X32-NEXT:    shldl $30, %esi, %ecx
-; X32-NEXT:    addl %eax, %ecx
-; X32-NEXT:    adcl $0, %ecx
-; X32-NEXT:    movl $-1431655765, %edx # imm = 0xAAAAAAAB
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl %edx
-; X32-NEXT:    leal (%edx,%edx,2), %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    andl $3, %esi
-; X32-NEXT:    leal (%esi,%ecx,4), %eax
-; X32-NEXT:    xorl %edx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_12:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    shrl $2, %eax
+; X86-NEXT:    shldl $30, %esi, %ecx
+; X86-NEXT:    addl %eax, %ecx
+; X86-NEXT:    adcl $0, %ecx
+; X86-NEXT:    movl $-1431655765, %edx # imm = 0xAAAAAAAB
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl %edx
+; X86-NEXT:    leal (%edx,%edx,2), %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    andl $3, %esi
+; X86-NEXT:    leal (%esi,%ecx,4), %eax
+; X86-NEXT:    xorl %edx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_12:
 ; X64:       # %bb.0: # %entry
@@ -764,34 +764,34 @@ entry:
 }
 
 define i64 @udiv_i64_3(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_3:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-1431655765, %ebx # imm = 0xAAAAAAAB
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    shrl %edx
-; X32-NEXT:    leal (%edx,%edx,2), %eax
-; X32-NEXT:    subl %eax, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    imull $-1431655766, %ecx, %ecx # imm = 0xAAAAAAAA
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-1431655765, %edi, %ecx # imm = 0xAAAAAAAB
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_3:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-1431655765, %ebx # imm = 0xAAAAAAAB
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    shrl %edx
+; X86-NEXT:    leal (%edx,%edx,2), %eax
+; X86-NEXT:    subl %eax, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    imull $-1431655766, %ecx, %ecx # imm = 0xAAAAAAAA
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-1431655765, %edi, %ecx # imm = 0xAAAAAAAB
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_3:
 ; X64:       # %bb.0: # %entry
@@ -807,34 +807,34 @@ entry:
 }
 
 define i64 @udiv_i64_5(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_5:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-858993459, %ebx # imm = 0xCCCCCCCD
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    shrl $2, %edx
-; X32-NEXT:    leal (%edx,%edx,4), %eax
-; X32-NEXT:    subl %eax, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    imull $-858993460, %ecx, %ecx # imm = 0xCCCCCCCC
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-858993459, %edi, %ecx # imm = 0xCCCCCCCD
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_5:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-858993459, %ebx # imm = 0xCCCCCCCD
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    shrl $2, %edx
+; X86-NEXT:    leal (%edx,%edx,4), %eax
+; X86-NEXT:    subl %eax, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    imull $-858993460, %ecx, %ecx # imm = 0xCCCCCCCC
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-858993459, %edi, %ecx # imm = 0xCCCCCCCD
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_5:
 ; X64:       # %bb.0: # %entry
@@ -850,34 +850,34 @@ entry:
 }
 
 define i64 @udiv_i64_15(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_15:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-2004318071, %edx # imm = 0x88888889
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $3, %edx
-; X32-NEXT:    leal (%edx,%edx,4), %eax
-; X32-NEXT:    leal (%eax,%eax,2), %eax
-; X32-NEXT:    subl %eax, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl $-286331153, %edx # imm = 0xEEEEEEEF
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    imull $-286331154, %ecx, %ecx # imm = 0xEEEEEEEE
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-286331153, %edi, %ecx # imm = 0xEEEEEEEF
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_15:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-2004318071, %edx # imm = 0x88888889
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $3, %edx
+; X86-NEXT:    leal (%edx,%edx,4), %eax
+; X86-NEXT:    leal (%eax,%eax,2), %eax
+; X86-NEXT:    subl %eax, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl $-286331153, %edx # imm = 0xEEEEEEEF
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    imull $-286331154, %ecx, %ecx # imm = 0xEEEEEEEE
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-286331153, %edi, %ecx # imm = 0xEEEEEEEF
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_15:
 ; X64:       # %bb.0: # %entry
@@ -893,36 +893,36 @@ entry:
 }
 
 define i64 @udiv_i64_17(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_17:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-252645135, %ebx # imm = 0xF0F0F0F1
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    andl $-16, %eax
-; X32-NEXT:    shrl $4, %edx
-; X32-NEXT:    addl %eax, %edx
-; X32-NEXT:    subl %edx, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    imull $-252645136, %ecx, %ecx # imm = 0xF0F0F0F0
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-252645135, %edi, %ecx # imm = 0xF0F0F0F1
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_17:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-252645135, %ebx # imm = 0xF0F0F0F1
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    andl $-16, %eax
+; X86-NEXT:    shrl $4, %edx
+; X86-NEXT:    addl %eax, %edx
+; X86-NEXT:    subl %edx, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    imull $-252645136, %ecx, %ecx # imm = 0xF0F0F0F0
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-252645135, %edi, %ecx # imm = 0xF0F0F0F1
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_17:
 ; X64:       # %bb.0: # %entry
@@ -938,34 +938,34 @@ entry:
 }
 
 define i64 @udiv_i64_255(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_255:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    addl %esi, %eax
-; X32-NEXT:    adcl $0, %eax
-; X32-NEXT:    movl $-2139062143, %edx # imm = 0x80808081
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $7, %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shll $8, %eax
-; X32-NEXT:    subl %eax, %edx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    addl %esi, %eax
-; X32-NEXT:    adcl %edx, %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    sbbl $0, %esi
-; X32-NEXT:    movl $-16843009, %edx # imm = 0xFEFEFEFF
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    imull $-16843010, %ecx, %ecx # imm = 0xFEFEFEFE
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-16843009, %esi, %ecx # imm = 0xFEFEFEFF
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_255:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    addl %esi, %eax
+; X86-NEXT:    adcl $0, %eax
+; X86-NEXT:    movl $-2139062143, %edx # imm = 0x80808081
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $7, %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shll $8, %eax
+; X86-NEXT:    subl %eax, %edx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    addl %esi, %eax
+; X86-NEXT:    adcl %edx, %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    sbbl $0, %esi
+; X86-NEXT:    movl $-16843009, %edx # imm = 0xFEFEFEFF
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    imull $-16843010, %ecx, %ecx # imm = 0xFEFEFEFE
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-16843009, %esi, %ecx # imm = 0xFEFEFEFF
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_255:
 ; X64:       # %bb.0: # %entry
@@ -981,36 +981,36 @@ entry:
 }
 
 define i64 @udiv_i64_257(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_257:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-16711935, %ebx # imm = 0xFF00FF01
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    andl $-256, %eax
-; X32-NEXT:    shrl $8, %edx
-; X32-NEXT:    addl %eax, %edx
-; X32-NEXT:    subl %edx, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    imull $-16711936, %ecx, %ecx # imm = 0xFF00FF00
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-16711935, %edi, %ecx # imm = 0xFF00FF01
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_257:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-16711935, %ebx # imm = 0xFF00FF01
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    andl $-256, %eax
+; X86-NEXT:    shrl $8, %edx
+; X86-NEXT:    addl %eax, %edx
+; X86-NEXT:    subl %edx, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    imull $-16711936, %ecx, %ecx # imm = 0xFF00FF00
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-16711935, %edi, %ecx # imm = 0xFF00FF01
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_257:
 ; X64:       # %bb.0: # %entry
@@ -1026,36 +1026,36 @@ entry:
 }
 
 define i64 @udiv_i64_65535(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_65535:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %esi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    addl %esi, %eax
-; X32-NEXT:    adcl $0, %eax
-; X32-NEXT:    movl $-2147450879, %edx # imm = 0x80008001
-; X32-NEXT:    mull %edx
-; X32-NEXT:    shrl $15, %edx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shll $16, %eax
-; X32-NEXT:    subl %eax, %edx
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    addl %esi, %eax
-; X32-NEXT:    adcl %edx, %eax
-; X32-NEXT:    subl %eax, %ecx
-; X32-NEXT:    sbbl $0, %esi
-; X32-NEXT:    movl $-65537, %edx # imm = 0xFFFEFFFF
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %edx
-; X32-NEXT:    imull $-65538, %ecx, %ecx # imm = 0xFFFEFFFE
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    movl %esi, %ecx
-; X32-NEXT:    shll $16, %ecx
-; X32-NEXT:    addl %esi, %ecx
-; X32-NEXT:    subl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_65535:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %esi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    addl %esi, %eax
+; X86-NEXT:    adcl $0, %eax
+; X86-NEXT:    movl $-2147450879, %edx # imm = 0x80008001
+; X86-NEXT:    mull %edx
+; X86-NEXT:    shrl $15, %edx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shll $16, %eax
+; X86-NEXT:    subl %eax, %edx
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    addl %esi, %eax
+; X86-NEXT:    adcl %edx, %eax
+; X86-NEXT:    subl %eax, %ecx
+; X86-NEXT:    sbbl $0, %esi
+; X86-NEXT:    movl $-65537, %edx # imm = 0xFFFEFFFF
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %edx
+; X86-NEXT:    imull $-65538, %ecx, %ecx # imm = 0xFFFEFFFE
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    movl %esi, %ecx
+; X86-NEXT:    shll $16, %ecx
+; X86-NEXT:    addl %esi, %ecx
+; X86-NEXT:    subl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_65535:
 ; X64:       # %bb.0: # %entry
@@ -1071,37 +1071,37 @@ entry:
 }
 
 define i64 @udiv_i64_65537(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_65537:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-65535, %ebx # imm = 0xFFFF0001
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    movl %edx, %eax
-; X32-NEXT:    shrl $16, %eax
-; X32-NEXT:    shldl $16, %edx, %eax
-; X32-NEXT:    subl %eax, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    shll $16, %ecx
-; X32-NEXT:    subl %ecx, %edx
-; X32-NEXT:    movl %edi, %ecx
-; X32-NEXT:    shll $16, %ecx
-; X32-NEXT:    subl %ecx, %edi
-; X32-NEXT:    addl %edi, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_65537:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-65535, %ebx # imm = 0xFFFF0001
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    movl %edx, %eax
+; X86-NEXT:    shrl $16, %eax
+; X86-NEXT:    shldl $16, %edx, %eax
+; X86-NEXT:    subl %eax, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    shll $16, %ecx
+; X86-NEXT:    subl %ecx, %edx
+; X86-NEXT:    movl %edi, %ecx
+; X86-NEXT:    shll $16, %ecx
+; X86-NEXT:    subl %ecx, %edi
+; X86-NEXT:    addl %edi, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_65537:
 ; X64:       # %bb.0: # %entry
@@ -1117,36 +1117,36 @@ entry:
 }
 
 define i64 @udiv_i64_12(i64 %x) nounwind {
-; X32-LABEL: udiv_i64_12:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    pushl %ebx
-; X32-NEXT:    pushl %edi
-; X32-NEXT:    pushl %esi
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT:    movl {{[0-9]+}}(%esp), %edi
-; X32-NEXT:    shrdl $2, %edi, %ecx
-; X32-NEXT:    shrl $2, %edi
-; X32-NEXT:    movl %ecx, %esi
-; X32-NEXT:    addl %edi, %esi
-; X32-NEXT:    adcl $0, %esi
-; X32-NEXT:    movl $-1431655765, %ebx # imm = 0xAAAAAAAB
-; X32-NEXT:    movl %esi, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    shrl %edx
-; X32-NEXT:    leal (%edx,%edx,2), %eax
-; X32-NEXT:    subl %eax, %esi
-; X32-NEXT:    subl %esi, %ecx
-; X32-NEXT:    sbbl $0, %edi
-; X32-NEXT:    movl %ecx, %eax
-; X32-NEXT:    mull %ebx
-; X32-NEXT:    imull $-1431655766, %ecx, %ecx # imm = 0xAAAAAAAA
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    imull $-1431655765, %edi, %ecx # imm = 0xAAAAAAAB
-; X32-NEXT:    addl %ecx, %edx
-; X32-NEXT:    popl %esi
-; X32-NEXT:    popl %edi
-; X32-NEXT:    popl %ebx
-; X32-NEXT:    retl
+; X86-LABEL: udiv_i64_12:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    pushl %ebx
+; X86-NEXT:    pushl %edi
+; X86-NEXT:    pushl %esi
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi
+; X86-NEXT:    shrdl $2, %edi, %ecx
+; X86-NEXT:    shrl $2, %edi
+; X86-NEXT:    movl %ecx, %esi
+; X86-NEXT:    addl %edi, %esi
+; X86-NEXT:    adcl $0, %esi
+; X86-NEXT:    movl $-1431655765, %ebx # imm = 0xAAAAAAAB
+; X86-NEXT:    movl %esi, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    shrl %edx
+; X86-NEXT:    leal (%edx,%edx,2), %eax
+; X86-NEXT:    subl %eax, %esi
+; X86-NEXT:    subl %esi, %ecx
+; X86-NEXT:    sbbl $0, %edi
+; X86-NEXT:    movl %ecx, %eax
+; X86-NEXT:    mull %ebx
+; X86-NEXT:    imull $-1431655766, %ecx, %ecx # imm = 0xAAAAAAAA
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    imull $-1431655765, %edi, %ecx # imm = 0xAAAAAAAB
+; X86-NEXT:    addl %ecx, %edx
+; X86-NEXT:    popl %esi
+; X86-NEXT:    popl %edi
+; X86-NEXT:    popl %ebx
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: udiv_i64_12:
 ; X64:       # %bb.0: # %entry
@@ -1163,16 +1163,16 @@ entry:
 
 ; Make sure we don't inline expand for optsize.
 define i64 @urem_i64_3_optsize(i64 %x) nounwind optsize {
-; X32-LABEL: urem_i64_3_optsize:
-; X32:       # %bb.0: # %entry
-; X32-NEXT:    subl $12, %esp
-; X32-NEXT:    pushl $0
-; X32-NEXT:    pushl $3
-; X32-NEXT:    pushl {{[0-9]+}}(%esp)
-; X32-NEXT:    pushl {{[0-9]+}}(%esp)
-; X32-NEXT:    calll __umoddi3
-; X32-NEXT:    addl $28, %esp
-; X32-NEXT:    retl
+; X86-LABEL: urem_i64_3_optsize:
+; X86:       # %bb.0: # %entry
+; X86-NEXT:    subl $12, %esp
+; X86-NEXT:    pushl $0
+; X86-NEXT:    pushl $3
+; X86-NEXT:    pushl {{[0-9]+}}(%esp)
+; X86-NEXT:    pushl {{[0-9]+}}(%esp)
+; X86-NEXT:    calll __umoddi3
+; X86-NEXT:    addl $28, %esp
+; X86-NEXT:    retl
 ;
 ; X64-LABEL: urem_i64_3_optsize:
 ; X64:       # %bb.0: # %entry


        


More information about the llvm-commits mailing list