[X86][SSE] Vectorized i8 and i16 shift operators
[oota-llvm.git] / test / CodeGen / X86 / lsr-negative-stride.ll
index 5b9711e18a6b6e1367fb377f43c18070178fa0f0..b08356c8d3097c075ad9632089a81b0a99e505bb 100644 (file)
@@ -1,8 +1,22 @@
-; RUN: llvm-as < %s | llc -march=x86 | not grep neg
-; RUN: llvm-as < %s | llc -march=x86 | not grep sub.*esp
-; RUN: llvm-as < %s | llc -march=x86 | not grep esi
+; RUN: llc < %s -march=x86 > %t
+; RUN: not grep neg %t
+; RUN: not grep sub.*esp %t
+; RUN: not grep esi %t
+; RUN: not grep push %t
 
-define i32 @t(i32 %a, i32 %b) {
+; This corresponds to:
+;int t(int a, int b) {
+;  while (a != b) {
+;    if (a > b)
+;      a -= b;
+;    else
+;      b -= a;
+;  }
+;  return a;
+;}
+
+
+define i32 @t(i32 %a, i32 %b) nounwind {
 entry:
        %tmp1434 = icmp eq i32 %a, %b           ; <i1> [#uses=1]
        br i1 %tmp1434, label %bb17, label %bb.outer