summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/inlineasm-sched-bug.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/inlineasm-sched-bug.ll')
-rw-r--r--test/CodeGen/X86/inlineasm-sched-bug.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/X86/inlineasm-sched-bug.ll b/test/CodeGen/X86/inlineasm-sched-bug.ll
new file mode 100644
index 0000000000000..08de0c02d2936
--- /dev/null
+++ b/test/CodeGen/X86/inlineasm-sched-bug.ll
@@ -0,0 +1,13 @@
+; PR13504
+; RUN: llc -march=x86 -mcpu=atom <%s | FileCheck %s
+; CHECK: bsfl
+; CHECK-NOT: movl
+
+define i32 @foo(i32 %treemap) nounwind uwtable {
+entry:
+ %sub = sub i32 0, %treemap
+ %and = and i32 %treemap, %sub
+ %0 = tail call i32 asm "bsfl $1,$0\0A\09", "=r,rm,~{dirflag},~{fpsr},~{flags}"(i32 %and) nounwind
+ ret i32 %0
+}
+