Add a neat little two's complement hack for x86.
[oota-llvm.git] / test / CodeGen / X86 / divide-by-constant.ll
index fe335b9369cbc55299057c42ca82964d423f9e43..87c1be51f1ac32a2f74d5a399a739ccd4ca08f94 100644 (file)
@@ -40,7 +40,7 @@ entry:
        %div = sdiv i16 %x, 33          ; <i32> [#uses=1]
        ret i16 %div
 ; CHECK: test4:
-; CHECK: imull $1986, %eax, %eax 
+; CHECK: imull $1986, %eax, %
 }
 
 define i32 @test5(i32 %A) nounwind {
@@ -60,3 +60,14 @@ entry:
 ; CHECK: shrl  $31, %ecx
 ; CHECK: sarl  $18, %eax
 }
+
+define i32 @test7(i32 %x) nounwind {
+  %div = udiv i32 %x, 28
+  ret i32 %div
+; CHECK: test7:
+; CHECK: shrl $2
+; CHECK: movl $613566757
+; CHECK: mull
+; CHECK-NOT: shrl
+; CHECK: ret
+}