Enable all Hexagon tests.
[oota-llvm.git] / test / CodeGen / X86 / overlap-shift.ll
index 799768dfd7333341e5a308d548b9370146526380..d185af16b90bd732b5af3959b1d03cf42e51aea3 100644 (file)
@@ -1,20 +1,19 @@
 ;; X's live range extends beyond the shift, so the register allocator
-;; cannot coallesce it with Y.  Because of this, a copy needs to be
+;; cannot coalesce it with Y.  Because of this, a copy needs to be
 ;; emitted before the shift to save the register value before it is
 ;; clobbered.  However, this copy is not needed if the register
 ;; allocator turns the shift into an LEA.  This also occurs for ADD.
 
 ; Check that the shift gets turned into an LEA.
 
-; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel | not grep 'mov %E.X, %E.X'
+; RUN: llc < %s -march=x86 -x86-asm-syntax=intel | \
+; RUN:   not grep {mov E.X, E.X}
 
-; FIXME: We need live variable information about flags to do this xform safely. :(
-; XFAIL: *
+@G = external global i32                ; <i32*> [#uses=1]
 
-%G = external global int
-
-int %test1(int %X) {
-       %Z = shl int %X, ubyte 2
-       volatile store int %Z, int* %G
-       ret int %X
+define i32 @test1(i32 %X) {
+        %Z = shl i32 %X, 2              ; <i32> [#uses=1]
+        store volatile i32 %Z, i32* @G
+        ret i32 %X
 }
+