xref: /llvm-project/llvm/test/CodeGen/PowerPC/fast-isel-br-const.ll (revision 400e7b7811162e729e4f687294f9d8229704c2e7)
1*400e7b78SJoerg Sonnenberger; RUN: llc -relocation-model=static < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64
20300813dSBill Schmidt
31fb23395SEric Christopherdefine i32 @t1(i32 %a, i32 %b) nounwind {
40300813dSBill Schmidtentry:
50300813dSBill Schmidt; ELF64: t1
60300813dSBill Schmidt  %x = add i32 %a, %b
70300813dSBill Schmidt  br i1 1, label %if.then, label %if.else
80300813dSBill Schmidt; ELF64-NOT: b {{\.?}}LBB0_1
90300813dSBill Schmidt
100300813dSBill Schmidtif.then:                                          ; preds = %entry
110300813dSBill Schmidt  call void @foo1()
120300813dSBill Schmidt  br label %if.end7
130300813dSBill Schmidt
140300813dSBill Schmidtif.else:                                          ; preds = %entry
150300813dSBill Schmidt  br i1 0, label %if.then2, label %if.else3
160300813dSBill Schmidt; ELF64: b {{\.?}}LBB0_4
170300813dSBill Schmidt
180300813dSBill Schmidtif.then2:                                         ; preds = %if.else
190300813dSBill Schmidt  call void @foo2()
200300813dSBill Schmidt  br label %if.end6
210300813dSBill Schmidt
220300813dSBill Schmidtif.else3:                                         ; preds = %if.else
230300813dSBill Schmidt  %y = sub i32 %a, %b
240300813dSBill Schmidt  br i1 1, label %if.then5, label %if.end
250300813dSBill Schmidt; ELF64-NOT: b {{\.?}}LBB0_5
260300813dSBill Schmidt
270300813dSBill Schmidtif.then5:                                         ; preds = %if.else3
280300813dSBill Schmidt  call void @foo1()
290300813dSBill Schmidt  br label %if.end
300300813dSBill Schmidt
310300813dSBill Schmidtif.end:                                           ; preds = %if.then5, %if.else3
320300813dSBill Schmidt  br label %if.end6
330300813dSBill Schmidt
340300813dSBill Schmidtif.end6:                                          ; preds = %if.end, %if.then2
350300813dSBill Schmidt  br label %if.end7
360300813dSBill Schmidt
370300813dSBill Schmidtif.end7:                                          ; preds = %if.end6, %if.then
380300813dSBill Schmidt  ret i32 0
390300813dSBill Schmidt}
400300813dSBill Schmidt
410300813dSBill Schmidtdeclare void @foo1()
420300813dSBill Schmidt
430300813dSBill Schmidtdeclare void @foo2()
44