[WebAssembly] Use more explicit types in testcases.

llvm-svn: 252345
This commit is contained in:
Dan Gohman 2015-11-06 21:32:42 +00:00
parent 8d456e4200
commit 3cb66c85b9
10 changed files with 114 additions and 114 deletions

View File

@ -11,7 +11,7 @@ declare void @something()
; CHECK-LABEL: test0:
; CHECK: loop
; CHECK: add
; CHECK: i32.add
; CHECK: br_if
; CHECK: call
; CHECK: br $BB0_1{{$}}
@ -39,7 +39,7 @@ back:
; CHECK-LABEL: test1:
; CHECK: loop
; CHECK: add
; CHECK: i32.add
; CHECK: br_if
; CHECK: call
; CHECK: br $BB1_1{{$}}

View File

@ -15,11 +15,11 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: f32.eq push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: eq push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: f32.eq push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: and push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: i32.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 push, 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: f32.ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: f32.ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: or push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: f32.eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: f32.ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: f32.ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
; CHECK-NEXT: or push, (get_local 6), (get_local 5){{$}}
; CHECK-NEXT: i32.or push, (get_local 6), (get_local 5){{$}}
; CHECK-NEXT: set_local 7, pop{{$}}
; CHECK-NEXT: or push, (get_local 4), (get_local 7){{$}}
; CHECK-NEXT: i32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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

View File

@ -15,11 +15,11 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: f64.eq push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: eq push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: f64.eq push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: and push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: i32.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 push, 1{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: f64.ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: f64.ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: or push, (get_local 5), (get_local 4){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: f64.eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: f64.ne push, (get_local 2), (get_local 2){{$}}
; CHECK-NEXT: set_local 5, pop{{$}}
; CHECK-NEXT: ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: f64.ne push, (get_local 3), (get_local 3){{$}}
; CHECK-NEXT: set_local 6, pop{{$}}
; CHECK-NEXT: or push, (get_local 6), (get_local 5){{$}}
; CHECK-NEXT: i32.or push, (get_local 6), (get_local 5){{$}}
; CHECK-NEXT: set_local 7, pop{{$}}
; CHECK-NEXT: or push, (get_local 4), (get_local 7){{$}}
; CHECK-NEXT: i32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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

View File

@ -14,7 +14,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: i32.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

View File

@ -14,7 +14,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: eq push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: i64.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

View File

@ -23,7 +23,7 @@ declare float @llvm.rint.f32(float)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f32.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 %y) {
}
; CHECK-LABEL: sqrt32:
; CHECK: sqrt push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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 push, (get_local 1){{$}}
; CHECK: f32.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)

View File

@ -23,7 +23,7 @@ declare double @llvm.rint.f64(double)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: f64.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 %y) {
}
; CHECK-LABEL: fsub64:
; CHECK: sub push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 %y) {
}
; CHECK-LABEL: fmul64:
; CHECK: mul push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 %y) {
}
; CHECK-LABEL: fdiv64:
; CHECK: div push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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 %y) {
}
; CHECK-LABEL: fabs64:
; CHECK: abs push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 3), (get_local 2){{$}}
; CHECK: f64.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, double %y) {
}
; CHECK-LABEL: sqrt64:
; CHECK: sqrt push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 1){{$}}
; CHECK: f64.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 push, (get_local 1){{$}}
; CHECK: f64.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)

View File

@ -18,7 +18,7 @@ declare i32 @llvm.ctpop.i32(i32)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: sub push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: mul push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: div_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: div_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: rem_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: rem_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: and push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: or push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: xor push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: shl push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: shr_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: shr_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: i32.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: popcnt push, (get_local 1){{$}}
; CHECK-NEXT: i32.popcnt push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i32 @popcnt32(i32 %x) {

View File

@ -18,7 +18,7 @@ declare i64 @llvm.ctpop.i64(i64)
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: get_local push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: add push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: sub push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: mul push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: div_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: div_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: rem_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: rem_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: and push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: or push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: xor push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: shl push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: shr_u push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 3, pop{{$}}
; CHECK-NEXT: shr_s push, (get_local 3), (get_local 2){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: clz push, (get_local 1){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: ctz push, (get_local 1){{$}}
; CHECK-NEXT: i64.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 push, 0{{$}}
; CHECK-NEXT: set_local 1, pop{{$}}
; CHECK-NEXT: popcnt push, (get_local 1){{$}}
; CHECK-NEXT: i64.popcnt push, (get_local 1){{$}}
; CHECK-NEXT: set_local 2, pop{{$}}
; CHECK-NEXT: return (get_local 2){{$}}
define i64 @popcnt64(i64 %x) {

View File

@ -60,7 +60,7 @@ define i64 @load_s_i1_i64(i1* %p) {
; CHECK-LABEL: store_i32_i1:
; CHECK: i32.const push, 1{{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: and push, (get_local 3), (get_local 4){{$}}
; CHECK-NEXT: i32.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 push, 1{{$}}
; CHECK-NEXT: set_local 4, pop{{$}}
; CHECK-NEXT: and push, (get_local 3), (get_local 4){{$}}
; CHECK-NEXT: i64.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) {