; 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)