fix rdar://9297011 - udiv by power of two causing fast-isel rejects
[oota-llvm.git] / test / CodeGen / X86 / fast-isel-x86-64.ll
index b666e84bbcc6da93b949c2fc670719c822f84f06..dbf65f0b3fcd6747848a9a203463dc641aad0e5f 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s  -fast-isel -O0 -regalloc=fast -asm-verbose=0 | FileCheck %s
+; RUN: llc < %s  -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort | FileCheck %s
 
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
 target triple = "x86_64-apple-darwin10.0.0"
@@ -111,3 +111,11 @@ entry:
 ; CHECK: test9:
 ; CHECK: imulq $7, %rdi, %rax
 }
+
+; rdar://9297011 - Don't reject udiv by a power of 2.
+define i32 @test10(i32 %X) nounwind {
+  %Y = udiv i32 %X, 8
+  ret i32 %Y
+; CHECK: test10:
+; CHECK: shrl  $3, 
+}