llvm-project/llvm/test/CodeGen/WebAssembly/import.ll

33 lines
1.1 KiB
LLVM

; RUN: llc < %s -asm-verbose=false | FileCheck %s
target datalayout = "e-p:32:32-i64:64-n32:64-S128"
target triple = "wasm32-unknown-unknown"
; CHECK-LABEL: .text
; CHECK-LABEL: f:
define void @f(i32 %a, float %b, i128 %c, i1 %d) {
tail call i32 @printi(i32 %a)
tail call float @printf(float %b)
tail call void @printv()
tail call void @split_arg(i128 %c)
tail call void @expanded_arg(i1 %d)
tail call i1 @lowered_result()
ret void
}
; CHECK-LABEL: .imports
; CHECK-NEXT: .import $printi "" "printi" (param i32) (result i32){{$}}
; CHECK-NEXT: .import $printf "" "printf" (param f32) (result f32){{$}}
; CHECK-NEXT: .import $printv "" "printv"{{$}}
; CHECK-NEXT: .import $add2 "" "add2" (param i32 i32) (result i32){{$}}
; CHECK-NEXT: .import $split_arg "" "split_arg" (param i64 i64){{$}}
; CHECK-NEXT: .import $expanded_arg "" "expanded_arg" (param i32){{$}}
; CHECK-NEXT: .import $lowered_result "" "lowered_result" (result i32){{$}}
declare i32 @printi(i32)
declare float @printf(float)
declare void @printv()
declare i32 @add2(i32, i32)
declare void @split_arg(i128)
declare void @expanded_arg(i1)
declare i1 @lowered_result()