xref: /llvm-project/llvm/test/MC/WebAssembly/libcall.ll (revision c3536b263f253a69fb336fb0617ee33a01a5c5dd)
1; RUN: llc -filetype=obj -mattr=-bulk-memory,-bulk-memory-opt %s -o - | obj2yaml | FileCheck %s
2
3target triple = "wasm32-unknown-unknown"
4
5define hidden void @call_memcpy(ptr align 4 %a, ptr align 4 %b) {
6entry:
7  tail call void @llvm.memcpy.p0.p0.i32(ptr align 4 %a, ptr align 4 %b, i32 512, i1 false)
8  ret void
9}
10
11declare void @llvm.memcpy.p0.p0.i32(ptr nocapture writeonly, ptr nocapture readonly, i32, i1)
12
13; CHECK:      --- !WASM
14; CHECK-NEXT: FileHeader:
15; CHECK-NEXT:   Version:         0x1
16; CHECK-NEXT: Sections:
17; CHECK-NEXT:   - Type:            TYPE
18; CHECK-NEXT:     Signatures:
19; CHECK-NEXT:       - Index:           0
20; CHECK-NEXT:         ParamTypes:
21; CHECK-NEXT:           - I32
22; CHECK-NEXT:           - I32
23; CHECK-NEXT:         ReturnTypes:     []
24; CHECK-NEXT:       - Index:           1
25; CHECK-NEXT:         ParamTypes:
26; CHECK-NEXT:           - I32
27; CHECK-NEXT:           - I32
28; CHECK-NEXT:           - I32
29; CHECK-NEXT:         ReturnTypes:
30; CHECK-NEXT:           - I32
31; CHECK-NEXT:   - Type:            IMPORT
32