blob: c141e0cafcc51ed58507aec8bfe04189fd02de5e [file] [log] [blame] [edit]
; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv-unknown-unknown %s -o - -filetype=obj | spirv-val %}
; Verify that calling a function, that looks like a builtin, but has no matching
; number of arguments is treated as user function.
; "Barrier" with zero args - consider as user function.
; CHECK: OpFunctionCall %[[#]] %[[#]]
define spir_func void @test_too_few() {
call spir_func void @barrier()
ret void
}
; Too many args - consider as user function.
; CHECK: OpFunctionCall %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]]
define spir_func void @test_too_many() {
call spir_func void @_Z7barrieriiii(i32 1, i32 2, i32 3, i32 4)
ret void
}
declare spir_func void @barrier()
declare spir_func void @_Z7barrieriiii(i32, i32, i32, i32)