diff options
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/store.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/store.ll | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/store.ll b/llvm/test/CodeGen/WebAssembly/store.ll index 206c31a53a3..f89e837d4e2 100644 --- a/llvm/test/CodeGen/WebAssembly/store.ll +++ b/llvm/test/CodeGen/WebAssembly/store.ll @@ -9,7 +9,11 @@ target triple = "wasm32-unknown-unknown" ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .local i32, i32{{$}} -; CHECK-NEXT: i32.store (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: get_local push, 1{{$}} +; CHECK-NEXT: set_local 2, pop{{$}} +; CHECK-NEXT: get_local push, 0{{$}} +; CHECK-NEXT: set_local 3, pop{{$}} +; CHECK-NEXT: i32.store (get_local 3), (get_local 2){{$}} ; CHECK-NEXT: return{{$}} define void @sti32(i32 *%p, i32 %v) { store i32 %v, i32* %p @@ -20,7 +24,11 @@ define void @sti32(i32 *%p, i32 %v) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .param i64{{$}} ; CHECK-NEXT: .local i64, i32{{$}} -; CHECK-NEXT: i64.store (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: get_local push, 1{{$}} +; CHECK-NEXT: set_local 2, pop{{$}} +; CHECK-NEXT: get_local push, 0{{$}} +; CHECK-NEXT: set_local 3, pop{{$}} +; CHECK-NEXT: i64.store (get_local 3), (get_local 2){{$}} ; CHECK-NEXT: return{{$}} define void @sti64(i64 *%p, i64 %v) { store i64 %v, i64* %p @@ -31,7 +39,11 @@ define void @sti64(i64 *%p, i64 %v) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .param f32{{$}} ; CHECK-NEXT: .local f32, i32{{$}} -; CHECK-NEXT: f32.store (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: get_local push, 1{{$}} +; CHECK-NEXT: set_local 2, pop{{$}} +; CHECK-NEXT: get_local push, 0{{$}} +; CHECK-NEXT: set_local 3, pop{{$}} +; CHECK-NEXT: f32.store (get_local 3), (get_local 2){{$}} ; CHECK-NEXT: return{{$}} define void @stf32(float *%p, float %v) { store float %v, float* %p @@ -42,7 +54,11 @@ define void @stf32(float *%p, float %v) { ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .param f64{{$}} ; CHECK-NEXT: .local f64, i32{{$}} -; CHECK-NEXT: f64.store (get_local 0), (get_local 1){{$}} +; CHECK-NEXT: get_local push, 1{{$}} +; CHECK-NEXT: set_local 2, pop{{$}} +; CHECK-NEXT: get_local push, 0{{$}} +; CHECK-NEXT: set_local 3, pop{{$}} +; CHECK-NEXT: f64.store (get_local 3), (get_local 2){{$}} ; CHECK-NEXT: return{{$}} define void @stf64(double *%p, double %v) { store double %v, double* %p |