blob: 49fbb004871dd414c54e0a65ecb4bdceca403934 [file] [log] [blame]
Daniel Sanders20c82ee42014-07-04 15:16:14 +00001; Test all important variants of the unconditional 'br' instruction.
2
3; RUN: llc -march=mips -mcpu=mips32 < %s | FileCheck %s -check-prefix=ALL
4; RUN: llc -march=mips -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=ALL
5; RUN: llc -march=mips64 -mcpu=mips4 < %s | FileCheck %s -check-prefix=ALL
6; RUN: llc -march=mips64 -mcpu=mips64 < %s | FileCheck %s -check-prefix=ALL
7; RUN: llc -march=mips64 -mcpu=mips64r2 < %s | FileCheck %s -check-prefix=ALL
8
9define i32 @br(i8 *%addr) {
10; ALL-LABEL: br:
11; ALL: jr $4
12; ALL: $BB0_1: # %L1
13; ALL: jr $ra
14; ALL: addiu $2, $zero, 0
15; ALL: $BB0_2: # %L2
16; ALL: jr $ra
17; ALL: addiu $2, $zero, 1
18
19entry:
20 indirectbr i8* %addr, [label %L1, label %L2]
21
22L1:
23 ret i32 0
24
25L2:
26 ret i32 1
27}