| ; RUN: not --crash llc -O0 -mtriple=spirv32-unknown-unknown %s -o /dev/null 2>&1 | FileCheck %s | |
| ; RUN: not --crash llc -O0 -mtriple=spirv64-unknown-unknown %s -o /dev/null 2>&1 | FileCheck %s | |
| ; __spirv_Select can pair a vector boolean condition with scalar operands, | |
| ; which is malformed for OpSelect and must be diagnosed. | |
| ; CHECK: LLVM ERROR: OpSelect with a scalar result requires a scalar boolean condition | |
| define spir_kernel void @bad_select(i32 %a, i32 %b, ptr addrspace(1) %out, <4 x i1> %cond) { | |
| entry: | |
| %call = call spir_func i32 @_Z14__spirv_SelectDv4_bii(<4 x i1> %cond, i32 %a, i32 %b) | |
| store i32 %call, ptr addrspace(1) %out | |
| ret void | |
| } | |
| declare spir_func i32 @_Z14__spirv_SelectDv4_bii(<4 x i1>, i32, i32) |