diff options
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/WebAssembly/memory-addr32.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/memory-addr32.ll b/llvm/test/CodeGen/WebAssembly/memory-addr32.ll index ad599b1b3f1..2d1f0f5ddc5 100644 --- a/llvm/test/CodeGen/WebAssembly/memory-addr32.ll +++ b/llvm/test/CodeGen/WebAssembly/memory-addr32.ll @@ -5,9 +5,30 @@ target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" target triple = "wasm32-unknown-unknown-wasm" +declare i32 @llvm.wasm.mem.size.i32(i32) nounwind readonly +declare i32 @llvm.wasm.mem.grow.i32(i32, i32) nounwind declare i32 @llvm.wasm.current.memory.i32() nounwind readonly declare i32 @llvm.wasm.grow.memory.i32(i32) nounwind +; CHECK-LABEL: mem_size: +; CHECK-NEXT: .result i32{{$}} +; CHECK-NEXT: mem.size $push0=, 0{{$}} +; CHECK-NEXT: return $pop0{{$}} +define i32 @mem_size() { + %a = call i32 @llvm.wasm.mem.size.i32(i32 0) + ret i32 %a +} + +; CHECK-LABEL: mem_grow: +; CHECK-NEXT: .param i32{{$}} +; CHECK-NEXT: .result i32{{$}} +; CHECK: mem.grow $push0=, 0, $0{{$}} +; CHECK-NEXT: return $pop0{{$}} +define i32 @mem_grow(i32 %n) { + %a = call i32 @llvm.wasm.mem.grow.i32(i32 0, i32 %n) + ret i32 %a +} + ; CHECK-LABEL: current_memory: ; CHECK-NEXT: .result i32{{$}} ; CHECK-NEXT: current_memory $push0={{$}} |

