Use Align for TFL::TransientStackAlignment
[llvm-core.git] / test / CodeGen / Mips / GlobalISel / instruction-select / brindirect.mir
blob5990dc08b02ee93e9467bedc0f524942a2bd661c
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32
3 --- |
5   define i32 @indirectbr(i8* %addr) {
6   entry:
7     indirectbr i8* %addr, [label %L1, label %L2]
9   L1:
10     ret i32 0
12   L2:
13     ret i32 1
14   }
16 ...
17 ---
18 name:            indirectbr
19 alignment:       4
20 legalized:       true
21 regBankSelected: true
22 tracksRegLiveness: true
23 body:             |
24   ; MIPS32-LABEL: name: indirectbr
25   ; MIPS32: bb.0.entry:
26   ; MIPS32:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
27   ; MIPS32:   liveins: $a0
28   ; MIPS32:   [[COPY:%[0-9]+]]:gpr32 = COPY $a0
29   ; MIPS32:   [[ORi:%[0-9]+]]:gpr32 = ORi $zero, 1
30   ; MIPS32:   [[ORi1:%[0-9]+]]:gpr32 = ORi $zero, 0
31   ; MIPS32:   PseudoIndirectBranch [[COPY]]
32   ; MIPS32: bb.1.L1:
33   ; MIPS32:   $v0 = COPY [[ORi1]]
34   ; MIPS32:   RetRA implicit $v0
35   ; MIPS32: bb.2.L2:
36   ; MIPS32:   $v0 = COPY [[ORi]]
37   ; MIPS32:   RetRA implicit $v0
38   bb.1.entry:
39     successors: %bb.2, %bb.3
40     liveins: $a0
42     %0:gprb(p0) = COPY $a0
43     %1:gprb(s32) = G_CONSTANT i32 1
44     %2:gprb(s32) = G_CONSTANT i32 0
45     G_BRINDIRECT %0(p0)
47   bb.2.L1:
48     $v0 = COPY %2(s32)
49     RetRA implicit $v0
51   bb.3.L2:
52     $v0 = COPY %1(s32)
53     RetRA implicit $v0
55 ...