[AArch64] Fix movk parsing with an .equ operand (#124428)
[llvm-project.git] / llvm / test / CodeGen / SPIRV / branching / OpSwitchUnreachable.ll
blob7fbd06c67b56e09dd5b72dcfd7c976c01250f887
1 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
4 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
5 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
7 define void @test_switch_with_unreachable_block(i1 %a) {
8   %value = zext i1 %a to i32
9 ; CHECK-SPIRV:      OpSwitch %[[#]] %[[#UNREACHABLE:]] 0 %[[#REACHABLE:]] 1 %[[#REACHABLE:]]
10   switch i32 %value, label %unreachable [
11     i32 0, label %reachable
12     i32 1, label %reachable
13   ]
15 ; CHECK-SPIRV-NEXT: %[[#REACHABLE]] = OpLabel
16 reachable:
17 ; CHECK-SPIRV-NEXT: OpReturn
18   ret void
20 ; CHECK-SPIRV:      %[[#UNREACHABLE]] = OpLabel
21 ; CHECK-SPIRV-NEXT: OpUnreachable
22 unreachable:
23   unreachable