[libc++] Add a test to make sure the type traits derive from integral_constant (...
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / legalizer / legalize-brindirect-rv32.mir
blob271989eac18a196a74590058dc3109b69c009519
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -run-pass=legalizer %s -o - \
3 # RUN: | FileCheck %s
5 ---
6 name:            indirectbr
7 body:             |
8   ; CHECK-LABEL: name: indirectbr
9   ; CHECK: bb.0:
10   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
11   ; CHECK-NEXT:   liveins: $x10
12   ; CHECK-NEXT: {{  $}}
13   ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(p0) = COPY $x10
14   ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1
15   ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 0
16   ; CHECK-NEXT:   G_BRINDIRECT [[COPY]](p0)
17   ; CHECK-NEXT: {{  $}}
18   ; CHECK-NEXT: bb.1:
19   ; CHECK-NEXT:   $x10 = COPY [[C1]](s32)
20   ; CHECK-NEXT:   PseudoRET implicit $x10
21   ; CHECK-NEXT: {{  $}}
22   ; CHECK-NEXT: bb.2:
23   ; CHECK-NEXT:   $x10 = COPY [[C]](s32)
24   ; CHECK-NEXT:   PseudoRET implicit $x10
25   bb.1:
26     successors: %bb.2, %bb.3
27     liveins: $x10
29     %0:_(p0) = COPY $x10
30     %1:_(s32) = G_CONSTANT i32 1
31     %2:_(s32) = G_CONSTANT i32 0
32     G_BRINDIRECT %0(p0)
34   bb.2:
35     $x10 = COPY %2(s32)
36     PseudoRET implicit $x10
38   bb.3:
39     $x10 = COPY %1(s32)
40     PseudoRET implicit $x10
42 ...