72 lines · plain
1target triple = "mipsisa32r6el-unknown-linux-gnu"2 3; RUN: llc -filetype=asm %s -o - | FileCheck %s --check-prefix=MIPSELR64; Function Attrs: noinline nounwind optnone uwtable5define i1 @foo0() nounwind {6; MIPSELR6: bnezc $1, $BB0_27; MIPSELR6-NEXT: nop8; MIPSELR6: jr $ra9entry:10 %0 = icmp eq i32 0, 111 br i1 %0, label %2, label %312 ret i1 %0132: 14 ret i1 %0153: 16 ret i1 %017}18 19define i32 @foo1() nounwind {20; MIPSELR6: addiu $2, $2, 121; MIPSELR6-NEXT: .set noreorder22; MIPSELR6-NEXT: beqzc $2, $tmp023; MIPSELR6-NEXT: nop24; MIPSELR6-NEXT: .set reorder25; MIPSELR6: jrc $ra26entry:27 %0 = tail call i32 asm "1: addiu $0, $0, 1; beqzc $0, 1b", "=r"() nounwind28 ret i32 %029}30 31define i32 @foo2() nounwind {32; MIPSELR6: .set push33; MIPSELR6-NEXT: .set at34; MIPSELR6-NEXT: .set macro35; MIPSELR6-NEXT: .set reorder36; MIPSELR6: .set noreorder37; MIPSELR6-NEXT: beqzc $9, End38; MIPSELR6-NEXT: nop39; MIPSELR6-NEXT: .set reorder40; MIPSELR6: addiu $9, $9, 141entry:42 %0 = tail call i32 asm "beqzc $$t1, End", "=r"() nounwind43 %1 = tail call i32 asm "addiu $$t1, $$t1, 1", "=r"() nounwind44 %2 = add nsw i32 %1, %045 ret i32 %246}47 48define i32 @foo3() nounwind {49; MIPSELR6: addiu $2, $2, 150; MIPSELR6-NEXT: .set noreorder51; MIPSELR6-NEXT: beqzc $2, $tmp152; MIPSELR6-NEXT: nop53; MIPSELR6-NEXT: .set noreorder54; MIPSELR6-NEXT: j End55; MIPSELR6-NEXT: nop56; MIPSELR6-NEXT: .set reorder57entry:58 %0 = tail call i32 asm "1: addiu $0, $0, 1; beqzc $0, 1b; j End", "=r"() nounwind59 ret i32 %060}61 62define i32 @foo4() nounwind {63; MIPSELR6: addiu $2, $2, 164; MIPSELR6-NEXT: .set noreorder65; MIPSELR6-NEXT: beqzc $2, $tmp266; MIPSELR6-NEXT: addiu $2, $2, 167; MIPSELR6-NEXT: .set reorder68entry:69 %0 = tail call i32 asm "1: addiu $0, $0, 1; beqzc $0, 1b; addiu $0, $0, 1", "=r"() nounwind70 ret i32 %071}72