Fix test from r207966 and add a comment there.
[oota-llvm.git] / test / Transforms / ConstantHoisting / X86 / large-immediate-2.ll
index 5f23e0a32993c1cfe27495b886c184e4b193c248..883be355bd364a948968e949e17d25a87dcbf306 100644 (file)
@@ -1,8 +1,10 @@
 ; RUN: llc < %s -O3 -march=x86-64 |FileCheck %s
 define i64 @foo(i1 %z, i192* %p, i192* %q)
 {
-; CHECK: movq    16(%rsi), %rax
-; CHECK-NEXT: retq
+; If const 128 is hoisted to a variable, then in basic block L_val2 we would
+; have %lshr2 = lshr i192 %data2, %const, and the definition of %const would
+; be in another basic block. As a result, a very inefficient code might be
+; produced. Here we check that this doesn't occur.
 entry:
   %data1 = load i192* %p, align 8
   %lshr1 = lshr i192 %data1, 128