brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 73220c6 Raw
97 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s3 4define i64 @test1(i64 %A, i32 %B) nounwind {5; CHECK-LABEL: test1:6; CHECK:       ; %bb.0:7; CHECK-NEXT:    move.l (12,%sp), %d08; CHECK-NEXT:    add.l (4,%sp), %d09; CHECK-NEXT:    move.l (8,%sp), %d110; CHECK-NEXT:    rts11  %tmp12 = zext i32 %B to i6412  %tmp3 = shl i64 %tmp12, 3213  %tmp5 = add i64 %tmp3, %A14  ret i64 %tmp515}16 17define void @test2(ptr inreg %a) nounwind {18; CHECK-LABEL: test2:19; CHECK:       ; %bb.0:20; CHECK-NEXT:    move.l %d0, %a021; CHECK-NEXT:    add.l #128, (%a0)22; CHECK-NEXT:    rts23  %aa = load i32, ptr %a24  %b = add i32 %aa, 12825  store i32 %b, ptr %a26  ret void27}28 29define fastcc void @test2_fast(ptr inreg %a) nounwind {30; CHECK-LABEL: test2_fast:31; CHECK:       ; %bb.0:32; CHECK-NEXT:    add.l #128, (%a0)33; CHECK-NEXT:    rts34  %aa = load i32, ptr %a35  %b = add i32 %aa, 12836  store i32 %b, ptr %a37  ret void38}39 40define fastcc void @test3(ptr inreg %a) nounwind {41; CHECK-LABEL: test3:42; CHECK:       ; %bb.0:43; CHECK-NEXT:    suba.l #4, %sp44; CHECK-NEXT:    movem.l %d2, (0,%sp) ; 8-byte Folded Spill45; CHECK-NEXT:    move.l (%a0), %d046; CHECK-NEXT:    moveq #0, %d147; CHECK-NEXT:    move.l #-2147483648, %d248; CHECK-NEXT:    add.l (4,%a0), %d249; CHECK-NEXT:    addx.l %d0, %d150; CHECK-NEXT:    move.l %d2, (4,%a0)51; CHECK-NEXT:    move.l %d1, (%a0)52; CHECK-NEXT:    movem.l (0,%sp), %d2 ; 8-byte Folded Reload53; CHECK-NEXT:    adda.l #4, %sp54; CHECK-NEXT:    rts55  %aa = load i64, ptr %a56  %b = add i64 %aa, 214748364857  store i64 %b, ptr %a58  ret void59}60 61define fastcc void @test4(ptr inreg %a) nounwind {62; CHECK-LABEL: test4:63; CHECK:       ; %bb.0:64; CHECK-NEXT:    suba.l #4, %sp65; CHECK-NEXT:    movem.l %d2, (0,%sp) ; 8-byte Folded Spill66; CHECK-NEXT:    move.l (%a0), %d067; CHECK-NEXT:    moveq #0, %d168; CHECK-NEXT:    moveq #127, %d269; CHECK-NEXT:    not.b %d270; CHECK-NEXT:    add.l (4,%a0), %d271; CHECK-NEXT:    addx.l %d0, %d172; CHECK-NEXT:    move.l %d2, (4,%a0)73; CHECK-NEXT:    move.l %d1, (%a0)74; CHECK-NEXT:    movem.l (0,%sp), %d2 ; 8-byte Folded Reload75; CHECK-NEXT:    adda.l #4, %sp76; CHECK-NEXT:    rts77  %aa = load i64, ptr %a78  %b = add i64 %aa, 12879  store i64 %b, ptr %a80  ret void81}82 83define fastcc i32 @test9(i32 %x, i32 %y) nounwind readnone {84; CHECK-LABEL: test9:85; CHECK:       ; %bb.0:86; CHECK-NEXT:    sub.l #10, %d087; CHECK-NEXT:    seq %d088; CHECK-NEXT:    ext.w %d089; CHECK-NEXT:    ext.l %d090; CHECK-NEXT:    add.l %d1, %d091; CHECK-NEXT:    rts92  %cmp = icmp eq i32 %x, 1093  %sub = sext i1 %cmp to i3294  %cond = add i32 %sub, %y95  ret i32 %cond96}97