X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=test%2FCodeGen%2FWebAssembly%2Fi32.ll;h=51d9549b4d30eddd9bbca803b262d86fdf3d5a97;hp=074bed17ce62985e78f69c60b2659035331bb23b;hb=41e2c9884254233141ecf07344729734ba060832;hpb=c1a030fd64211aab1555b6d0cc2818c86ab9390d diff --git a/test/CodeGen/WebAssembly/i32.ll b/test/CodeGen/WebAssembly/i32.ll index 074bed17ce6..51d9549b4d3 100644 --- a/test/CodeGen/WebAssembly/i32.ll +++ b/test/CodeGen/WebAssembly/i32.ll @@ -14,13 +14,9 @@ declare i32 @llvm.ctpop.i32(i32) ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.add push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.add $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @add32(i32 %x, i32 %y) { %a = add i32 %x, %y ret i32 %a @@ -31,13 +27,9 @@ define i32 @add32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.sub push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.sub $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @sub32(i32 %x, i32 %y) { %a = sub i32 %x, %y ret i32 %a @@ -48,13 +40,9 @@ define i32 @sub32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.mul push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.mul $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @mul32(i32 %x, i32 %y) { %a = mul i32 %x, %y ret i32 %a @@ -65,13 +53,9 @@ define i32 @mul32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.div_s push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.div_s $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @sdiv32(i32 %x, i32 %y) { %a = sdiv i32 %x, %y ret i32 %a @@ -82,13 +66,9 @@ define i32 @sdiv32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.div_u push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.div_u $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @udiv32(i32 %x, i32 %y) { %a = udiv i32 %x, %y ret i32 %a @@ -99,13 +79,9 @@ define i32 @udiv32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.rem_s push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.rem_s $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @srem32(i32 %x, i32 %y) { %a = srem i32 %x, %y ret i32 %a @@ -116,13 +92,9 @@ define i32 @srem32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.rem_u push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.rem_u $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @urem32(i32 %x, i32 %y) { %a = urem i32 %x, %y ret i32 %a @@ -133,13 +105,9 @@ define i32 @urem32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.and push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.and $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @and32(i32 %x, i32 %y) { %a = and i32 %x, %y ret i32 %a @@ -150,13 +118,9 @@ define i32 @and32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.or push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.or $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @or32(i32 %x, i32 %y) { %a = or i32 %x, %y ret i32 %a @@ -167,13 +131,9 @@ define i32 @or32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.xor push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.xor $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @xor32(i32 %x, i32 %y) { %a = xor i32 %x, %y ret i32 %a @@ -184,13 +144,9 @@ define i32 @xor32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.shl push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.shl $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @shl32(i32 %x, i32 %y) { %a = shl i32 %x, %y ret i32 %a @@ -201,13 +157,9 @@ define i32 @shl32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.shr_u push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.shr_u $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @shr32(i32 %x, i32 %y) { %a = lshr i32 %x, %y ret i32 %a @@ -218,13 +170,9 @@ define i32 @shr32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32, i32{{$}} -; CHECK-NEXT: get_local push, 1{{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 3, pop{{$}} -; CHECK-NEXT: i32.shr_s push, (get_local 3), (get_local 2){{$}} -; CHECK-NEXT: set_local 4, pop{{$}} -; CHECK-NEXT: return (get_local 4){{$}} +; CHECK-NEXT: i32.shr_s $push, (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: set_local 2, $pop{{$}} +; CHECK-NEXT: return (get_local 2){{$}} define i32 @sar32(i32 %x, i32 %y) { %a = ashr i32 %x, %y ret i32 %a @@ -234,11 +182,9 @@ define i32 @sar32(i32 %x, i32 %y) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 1, pop{{$}} -; CHECK-NEXT: i32.clz push, (get_local 1){{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: return (get_local 2){{$}} +; CHECK-NEXT: i32.clz $push, (get_local 0){{$}} +; CHECK-NEXT: set_local 1, $pop{{$}} +; CHECK-NEXT: return (get_local 1){{$}} define i32 @clz32(i32 %x) { %a = call i32 @llvm.ctlz.i32(i32 %x, i1 false) ret i32 %a @@ -248,11 +194,9 @@ define i32 @clz32(i32 %x) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 1, pop{{$}} -; CHECK-NEXT: i32.clz push, (get_local 1){{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: return (get_local 2){{$}} +; CHECK-NEXT: i32.clz $push, (get_local 0){{$}} +; CHECK-NEXT: set_local 1, $pop{{$}} +; CHECK-NEXT: return (get_local 1){{$}} define i32 @clz32_zero_undef(i32 %x) { %a = call i32 @llvm.ctlz.i32(i32 %x, i1 true) ret i32 %a @@ -262,11 +206,9 @@ define i32 @clz32_zero_undef(i32 %x) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 1, pop{{$}} -; CHECK-NEXT: i32.ctz push, (get_local 1){{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: return (get_local 2){{$}} +; CHECK-NEXT: i32.ctz $push, (get_local 0){{$}} +; CHECK-NEXT: set_local 1, $pop{{$}} +; CHECK-NEXT: return (get_local 1){{$}} define i32 @ctz32(i32 %x) { %a = call i32 @llvm.cttz.i32(i32 %x, i1 false) ret i32 %a @@ -276,11 +218,9 @@ define i32 @ctz32(i32 %x) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 1, pop{{$}} -; CHECK-NEXT: i32.ctz push, (get_local 1){{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: return (get_local 2){{$}} +; CHECK-NEXT: i32.ctz $push, (get_local 0){{$}} +; CHECK-NEXT: set_local 1, $pop{{$}} +; CHECK-NEXT: return (get_local 1){{$}} define i32 @ctz32_zero_undef(i32 %x) { %a = call i32 @llvm.cttz.i32(i32 %x, i1 true) ret i32 %a @@ -290,11 +230,9 @@ define i32 @ctz32_zero_undef(i32 %x) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: .local i32, i32{{$}} -; CHECK-NEXT: get_local push, 0{{$}} -; CHECK-NEXT: set_local 1, pop{{$}} -; CHECK-NEXT: i32.popcnt push, (get_local 1){{$}} -; CHECK-NEXT: set_local 2, pop{{$}} -; CHECK-NEXT: return (get_local 2){{$}} +; CHECK-NEXT: i32.popcnt $push, (get_local 0){{$}} +; CHECK-NEXT: set_local 1, $pop{{$}} +; CHECK-NEXT: return (get_local 1){{$}} define i32 @popcnt32(i32 %x) { %a = call i32 @llvm.ctpop.i32(i32 %x) ret i32 %a