[llvm] r252334 - [WebAssembly] Make expression-stack pushing explicit
Dan Gohman via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 6 11:45:01 PST 2015
Author: djg
Date: Fri Nov 6 13:45:01 2015
New Revision: 252334
URL: http://llvm.org/viewvc/llvm-project?rev=252334&view=rev
Log:
[WebAssembly] Make expression-stack pushing explicit
Modelling of the expression stack is evolving. This patch takes another
step by making pushes explicit.
Differential Revision: http://reviews.llvm.org/D14338
Modified:
llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
llvm/trunk/test/CodeGen/WebAssembly/call.ll
llvm/trunk/test/CodeGen/WebAssembly/comparisons_f32.ll
llvm/trunk/test/CodeGen/WebAssembly/comparisons_f64.ll
llvm/trunk/test/CodeGen/WebAssembly/comparisons_i32.ll
llvm/trunk/test/CodeGen/WebAssembly/comparisons_i64.ll
llvm/trunk/test/CodeGen/WebAssembly/conv.ll
llvm/trunk/test/CodeGen/WebAssembly/f32.ll
llvm/trunk/test/CodeGen/WebAssembly/f64.ll
llvm/trunk/test/CodeGen/WebAssembly/i32.ll
llvm/trunk/test/CodeGen/WebAssembly/i64.ll
llvm/trunk/test/CodeGen/WebAssembly/load-ext.ll
llvm/trunk/test/CodeGen/WebAssembly/load-store-i1.ll
llvm/trunk/test/CodeGen/WebAssembly/load.ll
llvm/trunk/test/CodeGen/WebAssembly/phi.ll
llvm/trunk/test/CodeGen/WebAssembly/select.ll
Modified: llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp Fri Nov 6 13:45:01 2015
@@ -269,33 +269,39 @@ void WebAssemblyAsmPrinter::EmitInstruct
switch (MI->getOpcode()) {
case TargetOpcode::COPY:
- OS << "get_local " << regToString(MI->getOperand(1));
+ OS << "get_local push, " << regToString(MI->getOperand(1));
break;
case WebAssembly::GLOBAL:
// TODO: wasm64
- OS << "i32.const " << toSymbol(MI->getOperand(1).getGlobal()->getName());
+ OS << "i32.const push, " << toSymbol(MI->getOperand(1).getGlobal()->getName());
break;
case WebAssembly::ARGUMENT_I32:
case WebAssembly::ARGUMENT_I64:
case WebAssembly::ARGUMENT_F32:
case WebAssembly::ARGUMENT_F64:
- OS << "get_local " << argToString(MI->getOperand(1));
+ OS << "get_local push, " << argToString(MI->getOperand(1));
break;
case WebAssembly::Const_I32:
- OS << "i32.const " << MI->getOperand(1).getImm();
+ OS << "i32.const push, " << MI->getOperand(1).getImm();
break;
case WebAssembly::Const_I64:
- OS << "i64.const " << MI->getOperand(1).getImm();
+ OS << "i64.const push, " << MI->getOperand(1).getImm();
break;
case WebAssembly::Const_F32:
- OS << "f32.const " << toString(MI->getOperand(1).getFPImm()->getValueAPF());
+ OS << "f32.const push, " << toString(MI->getOperand(1).getFPImm()->getValueAPF());
break;
case WebAssembly::Const_F64:
- OS << "f64.const " << toString(MI->getOperand(1).getFPImm()->getValueAPF());
+ OS << "f64.const push, " << toString(MI->getOperand(1).getFPImm()->getValueAPF());
break;
default: {
OS << OpcodeName(TII, MI);
bool NeedComma = false;
+ bool DefsPushed = false;
+ if (NumDefs != 0 && !MI->isCall()) {
+ OS << " push";
+ NeedComma = true;
+ DefsPushed = true;
+ }
for (const MachineOperand &MO : MI->uses()) {
if (MO.isReg() && MO.isImplicit())
continue;
@@ -322,6 +328,12 @@ void WebAssemblyAsmPrinter::EmitInstruct
OS << toSymbol(MO.getMBB()->getSymbol()->getName());
break;
}
+ if (NumDefs != 0 && !DefsPushed) {
+ // Special-case for calls; print the push after the callee.
+ assert(MI->isCall());
+ OS << ", push";
+ DefsPushed = true;
+ }
}
break;
}
Modified: llvm/trunk/test/CodeGen/WebAssembly/call.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/call.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/call.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/call.ll Fri Nov 6 13:45:01 2015
@@ -16,7 +16,7 @@ declare void @void_nullary()
; CHECK-LABEL: call_i32_nullary:
; CHECK-NEXT: .result i32
; CHECK-NEXT: .local i32
-; CHECK-NEXT: call $i32_nullary
+; CHECK-NEXT: call $i32_nullary, push{{$}}
; CHECK-NEXT: set_local 0, pop
; CHECK-NEXT: return (get_local 0)
define i32 @call_i32_nullary() {
@@ -27,7 +27,7 @@ define i32 @call_i32_nullary() {
; CHECK-LABEL: call_i64_nullary:
; CHECK-NEXT: .result i64
; CHECK-NEXT: .local i64
-; CHECK-NEXT: call $i64_nullary
+; CHECK-NEXT: call $i64_nullary, push{{$}}
; CHECK-NEXT: set_local 0, pop
; CHECK-NEXT: return (get_local 0)
define i64 @call_i64_nullary() {
@@ -38,7 +38,7 @@ define i64 @call_i64_nullary() {
; CHECK-LABEL: call_float_nullary:
; CHECK-NEXT: .result f32
; CHECK-NEXT: .local f32
-; CHECK-NEXT: call $float_nullary
+; CHECK-NEXT: call $float_nullary, push{{$}}
; CHECK-NEXT: set_local 0, pop
; CHECK-NEXT: return (get_local 0)
define float @call_float_nullary() {
@@ -49,7 +49,7 @@ define float @call_float_nullary() {
; CHECK-LABEL: call_double_nullary:
; CHECK-NEXT: .result f64
; CHECK-NEXT: .local f64
-; CHECK-NEXT: call $double_nullary
+; CHECK-NEXT: call $double_nullary, push{{$}}
; CHECK-NEXT: set_local 0, pop
; CHECK-NEXT: return (get_local 0)
define double @call_double_nullary() {
@@ -58,7 +58,7 @@ define double @call_double_nullary() {
}
; CHECK-LABEL: call_void_nullary:
-; CHECK-NEXT: call $void_nullary
+; CHECK-NEXT: call $void_nullary{{$}}
; CHECK-NEXT: return
define void @call_void_nullary() {
call void @void_nullary()
@@ -71,7 +71,7 @@ define void @call_void_nullary() {
; CHECK-NEXT: .local i32, i32
; CHECK-NEXT: get_local 0
; CHECK-NEXT: set_local 1, pop
-; CHECK-NEXT: call $i32_unary, (get_local 1)
+; CHECK-NEXT: call $i32_unary, push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop
; CHECK-NEXT: return (get_local 2)
define i32 @call_i32_unary(i32 %a) {
@@ -88,7 +88,7 @@ define i32 @call_i32_unary(i32 %a) {
; CHECK-NEXT: set_local 2, pop
; CHECK-NEXT: get_local 0
; CHECK-NEXT: set_local 3, pop
-; CHECK-NEXT: call $i32_binary, (get_local 3), (get_local 2)
+; CHECK-NEXT: call $i32_binary, push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop
; CHECK-NEXT: return (get_local 4)
define i32 @call_i32_binary(i32 %a, i32 %b) {
@@ -101,7 +101,7 @@ define i32 @call_i32_binary(i32 %a, i32
; CHECK-NEXT: .local i32
; CHECK-NEXT: get_local 0
; CHECK-NEXT: set_local 1, pop
-; CHECK-NEXT: call_indirect (get_local 1)
+; CHECK-NEXT: call_indirect (get_local 1){{$}}
; CHECK-NEXT: return
define void @call_indirect_void(void ()* %callee) {
call void %callee()
@@ -114,7 +114,7 @@ define void @call_indirect_void(void ()*
; CHECK-NEXT: .local i32, i32
; CHECK-NEXT: get_local 0
; CHECK-NEXT: set_local 1, pop
-; CHECK-NEXT: call_indirect (get_local 1)
+; CHECK-NEXT: call_indirect (get_local 1), push{{$}}
; CHECK-NEXT: set_local 2, pop
; CHECK-NEXT: return (get_local 2)
define i32 @call_indirect_i32(i32 ()* %callee) {
@@ -123,7 +123,7 @@ define i32 @call_indirect_i32(i32 ()* %c
}
; CHECK-LABEL: tail_call_void_nullary:
-; CHECK-NEXT: call $void_nullary
+; CHECK-NEXT: call $void_nullary{{$}}
; CHECK-NEXT: return{{$}}
define void @tail_call_void_nullary() {
tail call void @void_nullary()
@@ -131,7 +131,7 @@ define void @tail_call_void_nullary() {
}
; CHECK-LABEL: fastcc_tail_call_void_nullary:
-; CHECK-NEXT: call $void_nullary
+; CHECK-NEXT: call $void_nullary{{$}}
; CHECK-NEXT: return{{$}}
define void @fastcc_tail_call_void_nullary() {
tail call fastcc void @void_nullary()
Modified: llvm/trunk/test/CodeGen/WebAssembly/comparisons_f32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/comparisons_f32.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/comparisons_f32.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/comparisons_f32.ll Fri Nov 6 13:45:01 2015
@@ -15,11 +15,11 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 3){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: eq (get_local 2), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
-; CHECK-NEXT: and (get_local 5), (get_local 4){{$}}
+; CHECK-NEXT: and push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
; CHECK-NEXT: return (get_local 6){{$}}
define i32 @ord_f32(float %x, float %y) {
@@ -37,11 +37,11 @@ define i32 @ord_f32(float %x, float %y)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: ne (get_local 3), (get_local 3){{$}}
+; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: ne (get_local 2), (get_local 2){{$}}
+; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
-; CHECK-NEXT: or (get_local 5), (get_local 4){{$}}
+; CHECK-NEXT: or push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
; CHECK-NEXT: return (get_local 6){{$}}
define i32 @uno_f32(float %x, float %y) {
@@ -59,7 +59,7 @@ define i32 @uno_f32(float %x, float %y)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @oeq_f32(float %x, float %y) {
@@ -69,7 +69,7 @@ define i32 @oeq_f32(float %x, float %y)
}
; CHECK-LABEL: une_f32:
-; CHECK: ne (get_local 3), (get_local 2){{$}}
+; CHECK: ne push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @une_f32(float %x, float %y) {
%a = fcmp une float %x, %y
@@ -78,7 +78,7 @@ define i32 @une_f32(float %x, float %y)
}
; CHECK-LABEL: olt_f32:
-; CHECK: lt (get_local 3), (get_local 2){{$}}
+; CHECK: lt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @olt_f32(float %x, float %y) {
%a = fcmp olt float %x, %y
@@ -87,7 +87,7 @@ define i32 @olt_f32(float %x, float %y)
}
; CHECK-LABEL: ole_f32:
-; CHECK: le (get_local 3), (get_local 2){{$}}
+; CHECK: le push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ole_f32(float %x, float %y) {
%a = fcmp ole float %x, %y
@@ -96,7 +96,7 @@ define i32 @ole_f32(float %x, float %y)
}
; CHECK-LABEL: ogt_f32:
-; CHECK: gt (get_local 3), (get_local 2){{$}}
+; CHECK: gt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ogt_f32(float %x, float %y) {
%a = fcmp ogt float %x, %y
@@ -105,7 +105,7 @@ define i32 @ogt_f32(float %x, float %y)
}
; CHECK-LABEL: oge_f32:
-; CHECK: ge (get_local 3), (get_local 2){{$}}
+; CHECK: ge push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @oge_f32(float %x, float %y) {
%a = fcmp oge float %x, %y
@@ -124,15 +124,15 @@ define i32 @oge_f32(float %x, float %y)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: ne (get_local 2), (get_local 2){{$}}
+; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
-; CHECK-NEXT: ne (get_local 3), (get_local 3){{$}}
+; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
-; CHECK-NEXT: or (get_local 6), (get_local 5){{$}}
+; CHECK-NEXT: or push, (get_local 6), (get_local 5){{$}}
; CHECK-NEXT: set_local 7, pop{{$}}
-; CHECK-NEXT: or (get_local 4), (get_local 7){{$}}
+; CHECK-NEXT: or push, (get_local 4), (get_local 7){{$}}
; CHECK-NEXT: set_local 8, pop{{$}}
; CHECK-NEXT: return (get_local 8){{$}}
define i32 @ueq_f32(float %x, float %y) {
@@ -142,7 +142,7 @@ define i32 @ueq_f32(float %x, float %y)
}
; CHECK-LABEL: one_f32:
-; CHECK: ne (get_local 3), (get_local 2){{$}}
+; CHECK: ne push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @one_f32(float %x, float %y) {
%a = fcmp one float %x, %y
@@ -151,7 +151,7 @@ define i32 @one_f32(float %x, float %y)
}
; CHECK-LABEL: ult_f32:
-; CHECK: lt (get_local 3), (get_local 2){{$}}
+; CHECK: lt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ult_f32(float %x, float %y) {
%a = fcmp ult float %x, %y
@@ -160,7 +160,7 @@ define i32 @ult_f32(float %x, float %y)
}
; CHECK-LABEL: ule_f32:
-; CHECK: le (get_local 3), (get_local 2){{$}}
+; CHECK: le push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ule_f32(float %x, float %y) {
%a = fcmp ule float %x, %y
@@ -169,7 +169,7 @@ define i32 @ule_f32(float %x, float %y)
}
; CHECK-LABEL: ugt_f32:
-; CHECK: gt (get_local 3), (get_local 2){{$}}
+; CHECK: gt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ugt_f32(float %x, float %y) {
%a = fcmp ugt float %x, %y
@@ -178,7 +178,7 @@ define i32 @ugt_f32(float %x, float %y)
}
; CHECK-LABEL: uge_f32:
-; CHECK: ge (get_local 3), (get_local 2){{$}}
+; CHECK: ge push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @uge_f32(float %x, float %y) {
%a = fcmp uge float %x, %y
Modified: llvm/trunk/test/CodeGen/WebAssembly/comparisons_f64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/comparisons_f64.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/comparisons_f64.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/comparisons_f64.ll Fri Nov 6 13:45:01 2015
@@ -15,11 +15,11 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 3){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: eq (get_local 2), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
-; CHECK-NEXT: and (get_local 5), (get_local 4){{$}}
+; CHECK-NEXT: and push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
; CHECK-NEXT: return (get_local 6){{$}}
define i32 @ord_f64(double %x, double %y) {
@@ -37,11 +37,11 @@ define i32 @ord_f64(double %x, double %y
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: ne (get_local 3), (get_local 3){{$}}
+; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: ne (get_local 2), (get_local 2){{$}}
+; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
-; CHECK-NEXT: or (get_local 5), (get_local 4){{$}}
+; CHECK-NEXT: or push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
; CHECK-NEXT: return (get_local 6){{$}}
define i32 @uno_f64(double %x, double %y) {
@@ -59,7 +59,7 @@ define i32 @uno_f64(double %x, double %y
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @oeq_f64(double %x, double %y) {
@@ -69,7 +69,7 @@ define i32 @oeq_f64(double %x, double %y
}
; CHECK-LABEL: une_f64:
-; CHECK: ne (get_local 3), (get_local 2){{$}}
+; CHECK: ne push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @une_f64(double %x, double %y) {
%a = fcmp une double %x, %y
@@ -78,7 +78,7 @@ define i32 @une_f64(double %x, double %y
}
; CHECK-LABEL: olt_f64:
-; CHECK: lt (get_local 3), (get_local 2){{$}}
+; CHECK: lt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @olt_f64(double %x, double %y) {
%a = fcmp olt double %x, %y
@@ -87,7 +87,7 @@ define i32 @olt_f64(double %x, double %y
}
; CHECK-LABEL: ole_f64:
-; CHECK: le (get_local 3), (get_local 2){{$}}
+; CHECK: le push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ole_f64(double %x, double %y) {
%a = fcmp ole double %x, %y
@@ -96,7 +96,7 @@ define i32 @ole_f64(double %x, double %y
}
; CHECK-LABEL: ogt_f64:
-; CHECK: gt (get_local 3), (get_local 2){{$}}
+; CHECK: gt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ogt_f64(double %x, double %y) {
%a = fcmp ogt double %x, %y
@@ -105,7 +105,7 @@ define i32 @ogt_f64(double %x, double %y
}
; CHECK-LABEL: oge_f64:
-; CHECK: ge (get_local 3), (get_local 2){{$}}
+; CHECK: ge push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @oge_f64(double %x, double %y) {
%a = fcmp oge double %x, %y
@@ -124,15 +124,15 @@ define i32 @oge_f64(double %x, double %y
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: ne (get_local 2), (get_local 2){{$}}
+; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
-; CHECK-NEXT: ne (get_local 3), (get_local 3){{$}}
+; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
-; CHECK-NEXT: or (get_local 6), (get_local 5){{$}}
+; CHECK-NEXT: or push, (get_local 6), (get_local 5){{$}}
; CHECK-NEXT: set_local 7, pop{{$}}
-; CHECK-NEXT: or (get_local 4), (get_local 7){{$}}
+; CHECK-NEXT: or push, (get_local 4), (get_local 7){{$}}
; CHECK-NEXT: set_local 8, pop{{$}}
; CHECK-NEXT: return (get_local 8){{$}}
define i32 @ueq_f64(double %x, double %y) {
@@ -142,7 +142,7 @@ define i32 @ueq_f64(double %x, double %y
}
; CHECK-LABEL: one_f64:
-; CHECK: ne (get_local 3), (get_local 2){{$}}
+; CHECK: ne push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @one_f64(double %x, double %y) {
%a = fcmp one double %x, %y
@@ -151,7 +151,7 @@ define i32 @one_f64(double %x, double %y
}
; CHECK-LABEL: ult_f64:
-; CHECK: lt (get_local 3), (get_local 2){{$}}
+; CHECK: lt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ult_f64(double %x, double %y) {
%a = fcmp ult double %x, %y
@@ -160,7 +160,7 @@ define i32 @ult_f64(double %x, double %y
}
; CHECK-LABEL: ule_f64:
-; CHECK: le (get_local 3), (get_local 2){{$}}
+; CHECK: le push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ule_f64(double %x, double %y) {
%a = fcmp ule double %x, %y
@@ -169,7 +169,7 @@ define i32 @ule_f64(double %x, double %y
}
; CHECK-LABEL: ugt_f64:
-; CHECK: gt (get_local 3), (get_local 2){{$}}
+; CHECK: gt push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ugt_f64(double %x, double %y) {
%a = fcmp ugt double %x, %y
@@ -178,7 +178,7 @@ define i32 @ugt_f64(double %x, double %y
}
; CHECK-LABEL: uge_f64:
-; CHECK: ge (get_local 3), (get_local 2){{$}}
+; CHECK: ge push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @uge_f64(double %x, double %y) {
%a = fcmp uge double %x, %y
Modified: llvm/trunk/test/CodeGen/WebAssembly/comparisons_i32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/comparisons_i32.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/comparisons_i32.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/comparisons_i32.ll Fri Nov 6 13:45:01 2015
@@ -14,7 +14,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @eq_i32(i32 %x, i32 %y) {
@@ -24,7 +24,7 @@ define i32 @eq_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: ne_i32:
-; CHECK: ne (get_local 3), (get_local 2){{$}}
+; CHECK: ne push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ne_i32(i32 %x, i32 %y) {
%a = icmp ne i32 %x, %y
@@ -33,7 +33,7 @@ define i32 @ne_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: slt_i32:
-; CHECK: i32.lt_s (get_local 3), (get_local 2){{$}}
+; CHECK: i32.lt_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @slt_i32(i32 %x, i32 %y) {
%a = icmp slt i32 %x, %y
@@ -42,7 +42,7 @@ define i32 @slt_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: sle_i32:
-; CHECK: i32.le_s (get_local 3), (get_local 2){{$}}
+; CHECK: i32.le_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @sle_i32(i32 %x, i32 %y) {
%a = icmp sle i32 %x, %y
@@ -51,7 +51,7 @@ define i32 @sle_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: ult_i32:
-; CHECK: i32.lt_u (get_local 3), (get_local 2){{$}}
+; CHECK: i32.lt_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ult_i32(i32 %x, i32 %y) {
%a = icmp ult i32 %x, %y
@@ -60,7 +60,7 @@ define i32 @ult_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: ule_i32:
-; CHECK: i32.le_u (get_local 3), (get_local 2){{$}}
+; CHECK: i32.le_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ule_i32(i32 %x, i32 %y) {
%a = icmp ule i32 %x, %y
@@ -69,7 +69,7 @@ define i32 @ule_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: sgt_i32:
-; CHECK: i32.gt_s (get_local 3), (get_local 2){{$}}
+; CHECK: i32.gt_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @sgt_i32(i32 %x, i32 %y) {
%a = icmp sgt i32 %x, %y
@@ -78,7 +78,7 @@ define i32 @sgt_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: sge_i32:
-; CHECK: i32.ge_s (get_local 3), (get_local 2){{$}}
+; CHECK: i32.ge_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @sge_i32(i32 %x, i32 %y) {
%a = icmp sge i32 %x, %y
@@ -87,7 +87,7 @@ define i32 @sge_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: ugt_i32:
-; CHECK: i32.gt_u (get_local 3), (get_local 2){{$}}
+; CHECK: i32.gt_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ugt_i32(i32 %x, i32 %y) {
%a = icmp ugt i32 %x, %y
@@ -96,7 +96,7 @@ define i32 @ugt_i32(i32 %x, i32 %y) {
}
; CHECK-LABEL: uge_i32:
-; CHECK: i32.ge_u (get_local 3), (get_local 2){{$}}
+; CHECK: i32.ge_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @uge_i32(i32 %x, i32 %y) {
%a = icmp uge i32 %x, %y
Modified: llvm/trunk/test/CodeGen/WebAssembly/comparisons_i64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/comparisons_i64.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/comparisons_i64.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/comparisons_i64.ll Fri Nov 6 13:45:01 2015
@@ -14,7 +14,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: eq (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @eq_i64(i64 %x, i64 %y) {
@@ -24,7 +24,7 @@ define i32 @eq_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: ne_i64:
-; CHECK: ne (get_local 3), (get_local 2){{$}}
+; CHECK: ne push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ne_i64(i64 %x, i64 %y) {
%a = icmp ne i64 %x, %y
@@ -33,7 +33,7 @@ define i32 @ne_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: slt_i64:
-; CHECK: i64.lt_s (get_local 3), (get_local 2){{$}}
+; CHECK: i64.lt_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @slt_i64(i64 %x, i64 %y) {
%a = icmp slt i64 %x, %y
@@ -42,7 +42,7 @@ define i32 @slt_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: sle_i64:
-; CHECK: i64.le_s (get_local 3), (get_local 2){{$}}
+; CHECK: i64.le_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @sle_i64(i64 %x, i64 %y) {
%a = icmp sle i64 %x, %y
@@ -51,7 +51,7 @@ define i32 @sle_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: ult_i64:
-; CHECK: i64.lt_u (get_local 3), (get_local 2){{$}}
+; CHECK: i64.lt_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ult_i64(i64 %x, i64 %y) {
%a = icmp ult i64 %x, %y
@@ -60,7 +60,7 @@ define i32 @ult_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: ule_i64:
-; CHECK: i64.le_u (get_local 3), (get_local 2){{$}}
+; CHECK: i64.le_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ule_i64(i64 %x, i64 %y) {
%a = icmp ule i64 %x, %y
@@ -69,7 +69,7 @@ define i32 @ule_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: sgt_i64:
-; CHECK: i64.gt_s (get_local 3), (get_local 2){{$}}
+; CHECK: i64.gt_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @sgt_i64(i64 %x, i64 %y) {
%a = icmp sgt i64 %x, %y
@@ -78,7 +78,7 @@ define i32 @sgt_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: sge_i64:
-; CHECK: i64.ge_s (get_local 3), (get_local 2){{$}}
+; CHECK: i64.ge_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @sge_i64(i64 %x, i64 %y) {
%a = icmp sge i64 %x, %y
@@ -87,7 +87,7 @@ define i32 @sge_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: ugt_i64:
-; CHECK: i64.gt_u (get_local 3), (get_local 2){{$}}
+; CHECK: i64.gt_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @ugt_i64(i64 %x, i64 %y) {
%a = icmp ugt i64 %x, %y
@@ -96,7 +96,7 @@ define i32 @ugt_i64(i64 %x, i64 %y) {
}
; CHECK-LABEL: uge_i64:
-; CHECK: i64.ge_u (get_local 3), (get_local 2){{$}}
+; CHECK: i64.ge_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define i32 @uge_i64(i64 %x, i64 %y) {
%a = icmp uge i64 %x, %y
Modified: llvm/trunk/test/CodeGen/WebAssembly/conv.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/conv.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/conv.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/conv.ll Fri Nov 6 13:45:01 2015
@@ -11,7 +11,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: .local i64, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i32.wrap/i64 (get_local 1){{$}}
+; CHECK-NEXT: i32.wrap/i64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @i32_wrap_i64(i64 %x) {
@@ -25,7 +25,7 @@ define i32 @i32_wrap_i64(i64 %x) {
; CHECK-NEXT: .local i32, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.extend_s/i32 (get_local 1){{$}}
+; CHECK-NEXT: i64.extend_s/i32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @i64_extend_s_i32(i32 %x) {
@@ -39,7 +39,7 @@ define i64 @i64_extend_s_i32(i32 %x) {
; CHECK-NEXT: .local i32, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.extend_u/i32 (get_local 1){{$}}
+; CHECK-NEXT: i64.extend_u/i32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @i64_extend_u_i32(i32 %x) {
@@ -53,7 +53,7 @@ define i64 @i64_extend_u_i32(i32 %x) {
; CHECK-NEXT: .local f32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i32.trunc_s/f32 (get_local 1){{$}}
+; CHECK-NEXT: i32.trunc_s/f32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @i32_trunc_s_f32(float %x) {
@@ -67,7 +67,7 @@ define i32 @i32_trunc_s_f32(float %x) {
; CHECK-NEXT: .local f32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i32.trunc_u/f32 (get_local 1){{$}}
+; CHECK-NEXT: i32.trunc_u/f32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @i32_trunc_u_f32(float %x) {
@@ -81,7 +81,7 @@ define i32 @i32_trunc_u_f32(float %x) {
; CHECK-NEXT: .local f64, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i32.trunc_s/f64 (get_local 1){{$}}
+; CHECK-NEXT: i32.trunc_s/f64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @i32_trunc_s_f64(double %x) {
@@ -95,7 +95,7 @@ define i32 @i32_trunc_s_f64(double %x) {
; CHECK-NEXT: .local f64, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i32.trunc_u/f64 (get_local 1){{$}}
+; CHECK-NEXT: i32.trunc_u/f64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @i32_trunc_u_f64(double %x) {
@@ -109,7 +109,7 @@ define i32 @i32_trunc_u_f64(double %x) {
; CHECK-NEXT: .local f32, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.trunc_s/f32 (get_local 1){{$}}
+; CHECK-NEXT: i64.trunc_s/f32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @i64_trunc_s_f32(float %x) {
@@ -123,7 +123,7 @@ define i64 @i64_trunc_s_f32(float %x) {
; CHECK-NEXT: .local f32, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.trunc_u/f32 (get_local 1){{$}}
+; CHECK-NEXT: i64.trunc_u/f32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @i64_trunc_u_f32(float %x) {
@@ -137,7 +137,7 @@ define i64 @i64_trunc_u_f32(float %x) {
; CHECK-NEXT: .local f64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.trunc_s/f64 (get_local 1){{$}}
+; CHECK-NEXT: i64.trunc_s/f64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @i64_trunc_s_f64(double %x) {
@@ -151,7 +151,7 @@ define i64 @i64_trunc_s_f64(double %x) {
; CHECK-NEXT: .local f64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.trunc_u/f64 (get_local 1){{$}}
+; CHECK-NEXT: i64.trunc_u/f64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @i64_trunc_u_f64(double %x) {
@@ -165,7 +165,7 @@ define i64 @i64_trunc_u_f64(double %x) {
; CHECK-NEXT: .local i32, f32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f32.convert_s/i32 (get_local 1){{$}}
+; CHECK-NEXT: f32.convert_s/i32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define float @f32_convert_s_i32(i32 %x) {
@@ -179,7 +179,7 @@ define float @f32_convert_s_i32(i32 %x)
; CHECK-NEXT: .local i32, f32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f32.convert_u/i32 (get_local 1){{$}}
+; CHECK-NEXT: f32.convert_u/i32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define float @f32_convert_u_i32(i32 %x) {
@@ -193,7 +193,7 @@ define float @f32_convert_u_i32(i32 %x)
; CHECK-NEXT: .local i32, f64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f64.convert_s/i32 (get_local 1){{$}}
+; CHECK-NEXT: f64.convert_s/i32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define double @f64_convert_s_i32(i32 %x) {
@@ -207,7 +207,7 @@ define double @f64_convert_s_i32(i32 %x)
; CHECK-NEXT: .local i32, f64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f64.convert_u/i32 (get_local 1){{$}}
+; CHECK-NEXT: f64.convert_u/i32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define double @f64_convert_u_i32(i32 %x) {
@@ -221,7 +221,7 @@ define double @f64_convert_u_i32(i32 %x)
; CHECK-NEXT: .local i64, f32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f32.convert_s/i64 (get_local 1){{$}}
+; CHECK-NEXT: f32.convert_s/i64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define float @f32_convert_s_i64(i64 %x) {
@@ -235,7 +235,7 @@ define float @f32_convert_s_i64(i64 %x)
; CHECK-NEXT: .local i64, f32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f32.convert_u/i64 (get_local 1){{$}}
+; CHECK-NEXT: f32.convert_u/i64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define float @f32_convert_u_i64(i64 %x) {
@@ -249,7 +249,7 @@ define float @f32_convert_u_i64(i64 %x)
; CHECK-NEXT: .local i64, f64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f64.convert_s/i64 (get_local 1){{$}}
+; CHECK-NEXT: f64.convert_s/i64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define double @f64_convert_s_i64(i64 %x) {
@@ -263,7 +263,7 @@ define double @f64_convert_s_i64(i64 %x)
; CHECK-NEXT: .local i64, f64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f64.convert_u/i64 (get_local 1){{$}}
+; CHECK-NEXT: f64.convert_u/i64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define double @f64_convert_u_i64(i64 %x) {
@@ -277,7 +277,7 @@ define double @f64_convert_u_i64(i64 %x)
; CHECK-NEXT: .local f32, f64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f64.promote/f32 (get_local 1){{$}}
+; CHECK-NEXT: f64.promote/f32 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define double @f64_promote_f32(float %x) {
@@ -291,7 +291,7 @@ define double @f64_promote_f32(float %x)
; CHECK-NEXT: .local f64, f32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f32.demote/f64 (get_local 1){{$}}
+; CHECK-NEXT: f32.demote/f64 push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define float @f32_demote_f64(double %x) {
Modified: llvm/trunk/test/CodeGen/WebAssembly/f32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/f32.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/f32.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/f32.ll Fri Nov 6 13:45:01 2015
@@ -23,7 +23,7 @@ declare float @llvm.rint.f32(float)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: add (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define float @fadd32(float %x, float %y) {
@@ -32,7 +32,7 @@ define float @fadd32(float %x, float %y)
}
; CHECK-LABEL: fsub32:
-; CHECK: sub (get_local 3), (get_local 2){{$}}
+; CHECK: sub push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define float @fsub32(float %x, float %y) {
%a = fsub float %x, %y
@@ -40,7 +40,7 @@ define float @fsub32(float %x, float %y)
}
; CHECK-LABEL: fmul32:
-; CHECK: mul (get_local 3), (get_local 2){{$}}
+; CHECK: mul push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define float @fmul32(float %x, float %y) {
%a = fmul float %x, %y
@@ -48,7 +48,7 @@ define float @fmul32(float %x, float %y)
}
; CHECK-LABEL: fdiv32:
-; CHECK: div (get_local 3), (get_local 2){{$}}
+; CHECK: div push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define float @fdiv32(float %x, float %y) {
%a = fdiv float %x, %y
@@ -56,7 +56,7 @@ define float @fdiv32(float %x, float %y)
}
; CHECK-LABEL: fabs32:
-; CHECK: abs (get_local 1){{$}}
+; CHECK: abs push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @fabs32(float %x) {
%a = call float @llvm.fabs.f32(float %x)
@@ -64,7 +64,7 @@ define float @fabs32(float %x) {
}
; CHECK-LABEL: fneg32:
-; CHECK: neg (get_local 1){{$}}
+; CHECK: neg push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @fneg32(float %x) {
%a = fsub float -0., %x
@@ -72,7 +72,7 @@ define float @fneg32(float %x) {
}
; CHECK-LABEL: copysign32:
-; CHECK: copysign (get_local 3), (get_local 2){{$}}
+; CHECK: copysign push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define float @copysign32(float %x, float %y) {
%a = call float @llvm.copysign.f32(float %x, float %y)
@@ -80,7 +80,7 @@ define float @copysign32(float %x, float
}
; CHECK-LABEL: sqrt32:
-; CHECK: sqrt (get_local 1){{$}}
+; CHECK: sqrt push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @sqrt32(float %x) {
%a = call float @llvm.sqrt.f32(float %x)
@@ -88,7 +88,7 @@ define float @sqrt32(float %x) {
}
; CHECK-LABEL: ceil32:
-; CHECK: ceil (get_local 1){{$}}
+; CHECK: ceil push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @ceil32(float %x) {
%a = call float @llvm.ceil.f32(float %x)
@@ -96,7 +96,7 @@ define float @ceil32(float %x) {
}
; CHECK-LABEL: floor32:
-; CHECK: floor (get_local 1){{$}}
+; CHECK: floor push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @floor32(float %x) {
%a = call float @llvm.floor.f32(float %x)
@@ -104,7 +104,7 @@ define float @floor32(float %x) {
}
; CHECK-LABEL: trunc32:
-; CHECK: trunc (get_local 1){{$}}
+; CHECK: trunc push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @trunc32(float %x) {
%a = call float @llvm.trunc.f32(float %x)
@@ -112,7 +112,7 @@ define float @trunc32(float %x) {
}
; CHECK-LABEL: nearest32:
-; CHECK: nearest (get_local 1){{$}}
+; CHECK: nearest push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @nearest32(float %x) {
%a = call float @llvm.nearbyint.f32(float %x)
@@ -120,7 +120,7 @@ define float @nearest32(float %x) {
}
; CHECK-LABEL: nearest32_via_rint:
-; CHECK: nearest (get_local 1){{$}}
+; CHECK: nearest push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define float @nearest32_via_rint(float %x) {
%a = call float @llvm.rint.f32(float %x)
Modified: llvm/trunk/test/CodeGen/WebAssembly/f64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/f64.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/f64.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/f64.ll Fri Nov 6 13:45:01 2015
@@ -23,7 +23,7 @@ declare double @llvm.rint.f64(double)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: add (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define double @fadd64(double %x, double %y) {
@@ -32,7 +32,7 @@ define double @fadd64(double %x, double
}
; CHECK-LABEL: fsub64:
-; CHECK: sub (get_local 3), (get_local 2){{$}}
+; CHECK: sub push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define double @fsub64(double %x, double %y) {
%a = fsub double %x, %y
@@ -40,7 +40,7 @@ define double @fsub64(double %x, double
}
; CHECK-LABEL: fmul64:
-; CHECK: mul (get_local 3), (get_local 2){{$}}
+; CHECK: mul push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define double @fmul64(double %x, double %y) {
%a = fmul double %x, %y
@@ -48,7 +48,7 @@ define double @fmul64(double %x, double
}
; CHECK-LABEL: fdiv64:
-; CHECK: div (get_local 3), (get_local 2){{$}}
+; CHECK: div push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define double @fdiv64(double %x, double %y) {
%a = fdiv double %x, %y
@@ -56,7 +56,7 @@ define double @fdiv64(double %x, double
}
; CHECK-LABEL: fabs64:
-; CHECK: abs (get_local 1){{$}}
+; CHECK: abs push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @fabs64(double %x) {
%a = call double @llvm.fabs.f64(double %x)
@@ -64,7 +64,7 @@ define double @fabs64(double %x) {
}
; CHECK-LABEL: fneg64:
-; CHECK: neg (get_local 1){{$}}
+; CHECK: neg push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @fneg64(double %x) {
%a = fsub double -0., %x
@@ -72,7 +72,7 @@ define double @fneg64(double %x) {
}
; CHECK-LABEL: copysign64:
-; CHECK: copysign (get_local 3), (get_local 2){{$}}
+; CHECK: copysign push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
define double @copysign64(double %x, double %y) {
%a = call double @llvm.copysign.f64(double %x, double %y)
@@ -80,7 +80,7 @@ define double @copysign64(double %x, dou
}
; CHECK-LABEL: sqrt64:
-; CHECK: sqrt (get_local 1){{$}}
+; CHECK: sqrt push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @sqrt64(double %x) {
%a = call double @llvm.sqrt.f64(double %x)
@@ -88,7 +88,7 @@ define double @sqrt64(double %x) {
}
; CHECK-LABEL: ceil64:
-; CHECK: ceil (get_local 1){{$}}
+; CHECK: ceil push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @ceil64(double %x) {
%a = call double @llvm.ceil.f64(double %x)
@@ -96,7 +96,7 @@ define double @ceil64(double %x) {
}
; CHECK-LABEL: floor64:
-; CHECK: floor (get_local 1){{$}}
+; CHECK: floor push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @floor64(double %x) {
%a = call double @llvm.floor.f64(double %x)
@@ -104,7 +104,7 @@ define double @floor64(double %x) {
}
; CHECK-LABEL: trunc64:
-; CHECK: trunc (get_local 1){{$}}
+; CHECK: trunc push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @trunc64(double %x) {
%a = call double @llvm.trunc.f64(double %x)
@@ -112,7 +112,7 @@ define double @trunc64(double %x) {
}
; CHECK-LABEL: nearest64:
-; CHECK: nearest (get_local 1){{$}}
+; CHECK: nearest push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @nearest64(double %x) {
%a = call double @llvm.nearbyint.f64(double %x)
@@ -120,7 +120,7 @@ define double @nearest64(double %x) {
}
; CHECK-LABEL: nearest64_via_rint:
-; CHECK: nearest (get_local 1){{$}}
+; CHECK: nearest push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define double @nearest64_via_rint(double %x) {
%a = call double @llvm.rint.f64(double %x)
Modified: llvm/trunk/test/CodeGen/WebAssembly/i32.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/i32.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/i32.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/i32.ll Fri Nov 6 13:45:01 2015
@@ -18,7 +18,7 @@ declare i32 @llvm.ctpop.i32(i32)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: add (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @add32(i32 %x, i32 %y) {
@@ -35,7 +35,7 @@ define i32 @add32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: sub (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: sub push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @sub32(i32 %x, i32 %y) {
@@ -52,7 +52,7 @@ define i32 @sub32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: mul (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: mul push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @mul32(i32 %x, i32 %y) {
@@ -69,7 +69,7 @@ define i32 @mul32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: div_s (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @sdiv32(i32 %x, i32 %y) {
@@ -86,7 +86,7 @@ define i32 @sdiv32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: div_u (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @udiv32(i32 %x, i32 %y) {
@@ -103,7 +103,7 @@ define i32 @udiv32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: rem_s (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @srem32(i32 %x, i32 %y) {
@@ -120,7 +120,7 @@ define i32 @srem32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: rem_u (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @urem32(i32 %x, i32 %y) {
@@ -137,7 +137,7 @@ define i32 @urem32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: and (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: and push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @and32(i32 %x, i32 %y) {
@@ -154,7 +154,7 @@ define i32 @and32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: or (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: or push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @or32(i32 %x, i32 %y) {
@@ -171,7 +171,7 @@ define i32 @or32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: xor (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: xor push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @xor32(i32 %x, i32 %y) {
@@ -188,7 +188,7 @@ define i32 @xor32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shl (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: shl push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @shl32(i32 %x, i32 %y) {
@@ -205,7 +205,7 @@ define i32 @shl32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shr_u (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: shr_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @shr32(i32 %x, i32 %y) {
@@ -222,7 +222,7 @@ define i32 @shr32(i32 %x, i32 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shr_s (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: shr_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i32 @sar32(i32 %x, i32 %y) {
@@ -236,7 +236,7 @@ define i32 @sar32(i32 %x, i32 %y) {
; CHECK-NEXT: .local i32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: clz (get_local 1){{$}}
+; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @clz32(i32 %x) {
@@ -250,7 +250,7 @@ define i32 @clz32(i32 %x) {
; CHECK-NEXT: .local i32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: clz (get_local 1){{$}}
+; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @clz32_zero_undef(i32 %x) {
@@ -264,7 +264,7 @@ define i32 @clz32_zero_undef(i32 %x) {
; CHECK-NEXT: .local i32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: ctz (get_local 1){{$}}
+; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @ctz32(i32 %x) {
@@ -278,7 +278,7 @@ define i32 @ctz32(i32 %x) {
; CHECK-NEXT: .local i32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: ctz (get_local 1){{$}}
+; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @ctz32_zero_undef(i32 %x) {
@@ -292,7 +292,7 @@ define i32 @ctz32_zero_undef(i32 %x) {
; CHECK-NEXT: .local i32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: popcnt (get_local 1){{$}}
+; CHECK-NEXT: popcnt push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @popcnt32(i32 %x) {
Modified: llvm/trunk/test/CodeGen/WebAssembly/i64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/i64.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/i64.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/i64.ll Fri Nov 6 13:45:01 2015
@@ -18,7 +18,7 @@ declare i64 @llvm.ctpop.i64(i64)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: add (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @add64(i64 %x, i64 %y) {
@@ -35,7 +35,7 @@ define i64 @add64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: sub (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: sub push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @sub64(i64 %x, i64 %y) {
@@ -52,7 +52,7 @@ define i64 @sub64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: mul (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: mul push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @mul64(i64 %x, i64 %y) {
@@ -69,7 +69,7 @@ define i64 @mul64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: div_s (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @sdiv64(i64 %x, i64 %y) {
@@ -86,7 +86,7 @@ define i64 @sdiv64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: div_u (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: div_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @udiv64(i64 %x, i64 %y) {
@@ -103,7 +103,7 @@ define i64 @udiv64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: rem_s (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @srem64(i64 %x, i64 %y) {
@@ -120,7 +120,7 @@ define i64 @srem64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: rem_u (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: rem_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @urem64(i64 %x, i64 %y) {
@@ -137,7 +137,7 @@ define i64 @urem64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: and (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: and push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @and64(i64 %x, i64 %y) {
@@ -154,7 +154,7 @@ define i64 @and64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: or (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: or push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @or64(i64 %x, i64 %y) {
@@ -171,7 +171,7 @@ define i64 @or64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: xor (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: xor push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @xor64(i64 %x, i64 %y) {
@@ -188,7 +188,7 @@ define i64 @xor64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shl (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: shl push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @shl64(i64 %x, i64 %y) {
@@ -205,7 +205,7 @@ define i64 @shl64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shr_u (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: shr_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @shr64(i64 %x, i64 %y) {
@@ -222,7 +222,7 @@ define i64 @shr64(i64 %x, i64 %y) {
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shr_s (get_local 3), (get_local 2){{$}}
+; CHECK-NEXT: shr_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: return (get_local 4){{$}}
define i64 @sar64(i64 %x, i64 %y) {
@@ -236,7 +236,7 @@ define i64 @sar64(i64 %x, i64 %y) {
; CHECK-NEXT: .local i64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: clz (get_local 1){{$}}
+; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @clz64(i64 %x) {
@@ -250,7 +250,7 @@ define i64 @clz64(i64 %x) {
; CHECK-NEXT: .local i64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: clz (get_local 1){{$}}
+; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @clz64_zero_undef(i64 %x) {
@@ -264,7 +264,7 @@ define i64 @clz64_zero_undef(i64 %x) {
; CHECK-NEXT: .local i64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: ctz (get_local 1){{$}}
+; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @ctz64(i64 %x) {
@@ -278,7 +278,7 @@ define i64 @ctz64(i64 %x) {
; CHECK-NEXT: .local i64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: ctz (get_local 1){{$}}
+; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @ctz64_zero_undef(i64 %x) {
@@ -292,7 +292,7 @@ define i64 @ctz64_zero_undef(i64 %x) {
; CHECK-NEXT: .local i64, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: popcnt (get_local 1){{$}}
+; CHECK-NEXT: popcnt push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @popcnt64(i64 %x) {
Modified: llvm/trunk/test/CodeGen/WebAssembly/load-ext.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/load-ext.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/load-ext.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/load-ext.ll Fri Nov 6 13:45:01 2015
@@ -6,7 +6,7 @@ target datalayout = "e-p:32:32-i64:64-n3
target triple = "wasm32-unknown-unknown"
; CHECK-LABEL: sext_i8_i32:
-; CHECK: i32.load8_s (get_local 1){{$}}
+; CHECK: i32.load8_s push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i32 @sext_i8_i32(i8 *%p) {
%v = load i8, i8* %p
@@ -15,7 +15,7 @@ define i32 @sext_i8_i32(i8 *%p) {
}
; CHECK-LABEL: zext_i8_i32:
-; CHECK: i32.load8_u (get_local 1){{$}}
+; CHECK: i32.load8_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i32 @zext_i8_i32(i8 *%p) {
%v = load i8, i8* %p
@@ -24,7 +24,7 @@ define i32 @zext_i8_i32(i8 *%p) {
}
; CHECK-LABEL: sext_i16_i32:
-; CHECK: i32.load16_s (get_local 1){{$}}
+; CHECK: i32.load16_s push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i32 @sext_i16_i32(i16 *%p) {
%v = load i16, i16* %p
@@ -33,7 +33,7 @@ define i32 @sext_i16_i32(i16 *%p) {
}
; CHECK-LABEL: zext_i16_i32:
-; CHECK: i32.load16_u (get_local 1){{$}}
+; CHECK: i32.load16_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i32 @zext_i16_i32(i16 *%p) {
%v = load i16, i16* %p
@@ -42,7 +42,7 @@ define i32 @zext_i16_i32(i16 *%p) {
}
; CHECK-LABEL: sext_i8_i64:
-; CHECK: i64.load8_s (get_local 1){{$}}
+; CHECK: i64.load8_s push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i64 @sext_i8_i64(i8 *%p) {
%v = load i8, i8* %p
@@ -51,7 +51,7 @@ define i64 @sext_i8_i64(i8 *%p) {
}
; CHECK-LABEL: zext_i8_i64:
-; CHECK: i64.load8_u (get_local 1){{$}}
+; CHECK: i64.load8_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i64 @zext_i8_i64(i8 *%p) {
%v = load i8, i8* %p
@@ -60,7 +60,7 @@ define i64 @zext_i8_i64(i8 *%p) {
}
; CHECK-LABEL: sext_i16_i64:
-; CHECK: i64.load16_s (get_local 1){{$}}
+; CHECK: i64.load16_s push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i64 @sext_i16_i64(i16 *%p) {
%v = load i16, i16* %p
@@ -69,7 +69,7 @@ define i64 @sext_i16_i64(i16 *%p) {
}
; CHECK-LABEL: zext_i16_i64:
-; CHECK: i64.load16_u (get_local 1){{$}}
+; CHECK: i64.load16_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i64 @zext_i16_i64(i16 *%p) {
%v = load i16, i16* %p
@@ -78,7 +78,7 @@ define i64 @zext_i16_i64(i16 *%p) {
}
; CHECK-LABEL: sext_i32_i64:
-; CHECK: i64.load32_s (get_local 1){{$}}
+; CHECK: i64.load32_s push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
define i64 @sext_i32_i64(i32 *%p) {
%v = load i32, i32* %p
@@ -87,7 +87,7 @@ define i64 @sext_i32_i64(i32 *%p) {
}
; CHECK-LABEL: zext_i32_i64:
-; CHECK: i64.load32_u (get_local 1){{$}}
+; CHECK: i64.load32_u push, (get_local 1){{$}}
; CHECK: set_local 2, pop{{$}}
define i64 @zext_i32_i64(i32 *%p) {
%v = load i32, i32* %p
Modified: llvm/trunk/test/CodeGen/WebAssembly/load-store-i1.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/load-store-i1.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/load-store-i1.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/load-store-i1.ll Fri Nov 6 13:45:01 2015
@@ -6,7 +6,7 @@ target datalayout = "e-p:32:32-i64:64-n3
target triple = "wasm32-unknown-unknown"
; CHECK-LABEL: load_u_i1_i32:
-; CHECK: i32.load8_u (get_local 1){{$}}
+; CHECK: i32.load8_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @load_u_i1_i32(i1* %p) {
@@ -16,13 +16,13 @@ define i32 @load_u_i1_i32(i1* %p) {
}
; CHECK-LABEL: load_s_i1_i32:
-; CHECK: i32.load8_u (get_local 1){{$}}
+; CHECK: i32.load8_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: i32.const 31{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shl (get_local 2), (get_local 3){{$}}
+; CHECK-NEXT: shl push, (get_local 2), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: shr_s (get_local 4), (get_local 3){{$}}
+; CHECK-NEXT: shr_s push, (get_local 4), (get_local 3){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: return (get_local 5){{$}}
define i32 @load_s_i1_i32(i1* %p) {
@@ -32,7 +32,7 @@ define i32 @load_s_i1_i32(i1* %p) {
}
; CHECK-LABEL: load_u_i1_i64:
-; CHECK: i64.load8_u (get_local 1){{$}}
+; CHECK: i64.load8_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @load_u_i1_i64(i1* %p) {
@@ -42,13 +42,13 @@ define i64 @load_u_i1_i64(i1* %p) {
}
; CHECK-LABEL: load_s_i1_i64:
-; CHECK: i64.load8_u (get_local 1){{$}}
+; CHECK: i64.load8_u push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: i64.const 63{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
-; CHECK-NEXT: shl (get_local 2), (get_local 3){{$}}
+; CHECK-NEXT: shl push, (get_local 2), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: shr_s (get_local 4), (get_local 3){{$}}
+; CHECK-NEXT: shr_s push, (get_local 4), (get_local 3){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: return (get_local 5){{$}}
define i64 @load_s_i1_i64(i1* %p) {
@@ -60,7 +60,7 @@ define i64 @load_s_i1_i64(i1* %p) {
; CHECK-LABEL: store_i32_i1:
; CHECK: i32.const 1{{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: and (get_local 3), (get_local 4){{$}}
+; CHECK-NEXT: and push, (get_local 3), (get_local 4){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: i32.store8 (get_local 2), (get_local 5){{$}}
define void @store_i32_i1(i1* %p, i32 %v) {
@@ -72,7 +72,7 @@ define void @store_i32_i1(i1* %p, i32 %v
; CHECK-LABEL: store_i64_i1:
; CHECK: i64.const 1{{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
-; CHECK-NEXT: and (get_local 3), (get_local 4){{$}}
+; CHECK-NEXT: and push, (get_local 3), (get_local 4){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: i64.store8 (get_local 2), (get_local 5){{$}}
define void @store_i64_i1(i1* %p, i64 %v) {
Modified: llvm/trunk/test/CodeGen/WebAssembly/load.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/load.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/load.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/load.ll Fri Nov 6 13:45:01 2015
@@ -11,7 +11,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: .local i32, i32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i32.load (get_local 1){{$}}
+; CHECK-NEXT: i32.load push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @ldi32(i32 *%p) {
@@ -25,7 +25,7 @@ define i32 @ldi32(i32 *%p) {
; CHECK-NEXT: .local i32, i64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: i64.load (get_local 1){{$}}
+; CHECK-NEXT: i64.load push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @ldi64(i64 *%p) {
@@ -39,7 +39,7 @@ define i64 @ldi64(i64 *%p) {
; CHECK-NEXT: .local i32, f32{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f32.load (get_local 1){{$}}
+; CHECK-NEXT: f32.load push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define float @ldf32(float *%p) {
@@ -53,7 +53,7 @@ define float @ldf32(float *%p) {
; CHECK-NEXT: .local i32, f64{{$}}
; CHECK-NEXT: get_local 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
-; CHECK-NEXT: f64.load (get_local 1){{$}}
+; CHECK-NEXT: f64.load push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define double @ldf64(double *%p) {
Modified: llvm/trunk/test/CodeGen/WebAssembly/phi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/phi.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/phi.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/phi.ll Fri Nov 6 13:45:01 2015
@@ -10,7 +10,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-LABEL: test0:
; CHECK: get_local 0{{$}}
; CHECK: set_local [[REG:.*]], pop
-; CHECK: div_s (get_local [[REG]]), {{.*}}
+; CHECK: div_s push, (get_local [[REG]]), {{.*}}
; CHECK: set_local [[REG]], pop
; CHECK: return (get_local [[REG]])
define i32 @test0(i32 %p) {
Modified: llvm/trunk/test/CodeGen/WebAssembly/select.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/WebAssembly/select.ll?rev=252334&r1=252333&r2=252334&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/WebAssembly/select.ll (original)
+++ llvm/trunk/test/CodeGen/WebAssembly/select.ll Fri Nov 6 13:45:01 2015
@@ -11,9 +11,9 @@ target triple = "wasm32-unknown-unknown"
; CHECK: set_local [[LOCAL_B:[0-9]]]
; CHECK: get_local 0
; CHECK: set_local [[LOCAL_A:[0-9]]]
-; CHECK: i32.eq (get_local 5), (get_local 6)
+; CHECK: i32.eq push, (get_local 5), (get_local 6)
; CHECK: set_local 7, pop
-; CHECK: i32.select (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
+; CHECK: i32.select push, (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
define i32 @select_i32(i32 %a, i32 %b, i32 %cond) {
%cc = icmp eq i32 %cond, 0
%result = select i1 %cc, i32 %a, i32 %b
@@ -25,9 +25,9 @@ define i32 @select_i32(i32 %a, i32 %b, i
; CHECK: set_local [[LOCAL_B:[0-9]]]
; CHECK: get_local 0
; CHECK: set_local [[LOCAL_A:[0-9]]]
-; CHECK: i32.eq (get_local 5), (get_local 6)
+; CHECK: i32.eq push, (get_local 5), (get_local 6)
; CHECK: set_local 7, pop
-; CHECK: i64.select (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
+; CHECK: i64.select push, (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
define i64 @select_i64(i64 %a, i64 %b, i32 %cond) {
%cc = icmp eq i32 %cond, 0
%result = select i1 %cc, i64 %a, i64 %b
@@ -39,9 +39,9 @@ define i64 @select_i64(i64 %a, i64 %b, i
; CHECK: set_local [[LOCAL_B:[0-9]]]
; CHECK: get_local 0
; CHECK: set_local [[LOCAL_A:[0-9]]]
-; CHECK: i32.eq (get_local 5), (get_local 6)
+; CHECK: i32.eq push, (get_local 5), (get_local 6)
; CHECK: set_local 7, pop
-; CHECK: f32.select (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
+; CHECK: f32.select push, (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
define float @select_f32(float %a, float %b, i32 %cond) {
%cc = icmp eq i32 %cond, 0
%result = select i1 %cc, float %a, float %b
@@ -53,9 +53,9 @@ define float @select_f32(float %a, float
; CHECK: set_local [[LOCAL_B:[0-9]]]
; CHECK: get_local 0
; CHECK: set_local [[LOCAL_A:[0-9]]]
-; CHECK: i32.eq (get_local 5), (get_local 6)
+; CHECK: i32.eq push, (get_local 5), (get_local 6)
; CHECK: set_local 7, pop
-; CHECK: f64.select (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
+; CHECK: f64.select push, (get_local 7), (get_local [[LOCAL_A]]), (get_local [[LOCAL_B]])
define double @select_f64(double %a, double %b, i32 %cond) {
%cc = icmp eq i32 %cond, 0
%result = select i1 %cc, double %a, double %b
More information about the llvm-commits
mailing list