brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · fe39a9a Raw
130 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -frame-pointer=all -mtriple=m68k %s -verify-machineinstrs -o - \3; RUN: | FileCheck --check-prefix=FP %s4 5; RUN: llc -frame-pointer=none -mtriple=m68k %s -verify-machineinstrs -o - \6; RUN: | FileCheck --check-prefix=NO-FP %s7 8define i32 @fib(i32 %a, i32 %b) {9; FP-LABEL: fib:10; FP:         .cfi_startproc11; FP-NEXT:  ; %bb.0: ; %entry12; FP-NEXT:    link.w %a6, #-3213; FP-NEXT:    .cfi_def_cfa_offset -814; FP-NEXT:    .cfi_offset %a6, -815; FP-NEXT:    .cfi_def_cfa_register %a616; FP-NEXT:    move.l (8,%a6), %d117; FP-NEXT:    move.l %d1, (-32,%a6)18; FP-NEXT:    move.l (12,%a6), %d019; FP-NEXT:    add.l %d0, %d120; FP-NEXT:    move.l %d0, (-28,%a6)21; FP-NEXT:    add.l %d1, %d022; FP-NEXT:    move.l %d1, (-24,%a6)23; FP-NEXT:    add.l %d0, %d124; FP-NEXT:    move.l %d0, (-20,%a6)25; FP-NEXT:    move.l %d1, (-16,%a6)26; FP-NEXT:    add.l %d1, %d027; FP-NEXT:    move.l %d0, (-12,%a6)28; FP-NEXT:    add.l %d0, %d129; FP-NEXT:    move.l %d1, (-8,%a6)30; FP-NEXT:    add.l %d1, %d031; FP-NEXT:    move.l %d0, (-4,%a6)32; FP-NEXT:    unlk %a633; FP-NEXT:    rts34;35; NO-FP-LABEL: fib:36; NO-FP:         .cfi_startproc37; NO-FP-NEXT:  ; %bb.0: ; %entry38; NO-FP-NEXT:    suba.l #32, %sp39; NO-FP-NEXT:    .cfi_def_cfa_offset -3640; NO-FP-NEXT:    move.l (36,%sp), %d141; NO-FP-NEXT:    move.l %d1, (0,%sp)42; NO-FP-NEXT:    move.l (40,%sp), %d043; NO-FP-NEXT:    add.l %d0, %d144; NO-FP-NEXT:    move.l %d0, (4,%sp)45; NO-FP-NEXT:    add.l %d1, %d046; NO-FP-NEXT:    move.l %d1, (8,%sp)47; NO-FP-NEXT:    add.l %d0, %d148; NO-FP-NEXT:    move.l %d0, (12,%sp)49; NO-FP-NEXT:    move.l %d1, (16,%sp)50; NO-FP-NEXT:    add.l %d1, %d051; NO-FP-NEXT:    move.l %d0, (20,%sp)52; NO-FP-NEXT:    add.l %d0, %d153; NO-FP-NEXT:    move.l %d1, (24,%sp)54; NO-FP-NEXT:    add.l %d1, %d055; NO-FP-NEXT:    move.l %d0, (28,%sp)56; NO-FP-NEXT:    adda.l #32, %sp57; NO-FP-NEXT:    rts58entry:59  %arr = alloca [8 x i32], align 460  %s0 = getelementptr i32, ptr %arr, i32 061  %s1 = getelementptr i32, ptr %arr, i32 162  store i32 %a, ptr %s063  store i32 %b, ptr %s164 65  %ptr0 = getelementptr i32, ptr %arr, i32 066  %ptr1 = getelementptr i32, ptr %arr, i32 167  %ptr2 = getelementptr i32, ptr %arr, i32 268  %ptr3 = getelementptr i32, ptr %arr, i32 369  %ptr4 = getelementptr i32, ptr %arr, i32 470  %ptr5 = getelementptr i32, ptr %arr, i32 571  %ptr6 = getelementptr i32, ptr %arr, i32 672  %ptr7 = getelementptr i32, ptr %arr, i32 773 74  %res0 = load i32, ptr %ptr075  %res1 = load i32, ptr %ptr176 77  %res2 = add i32 %res0, %res178  store i32 %res2, ptr %ptr279 80  %res3 = add i32 %res1, %res281  store i32 %res3, ptr %ptr382 83  %res4 = add i32 %res2, %res384  store i32 %res4, ptr %ptr485 86  %res5 = add i32 %res3, %res487  store i32 %res5, ptr %ptr588 89  %res6 = add i32 %res4, %res590  store i32 %res6, ptr %ptr691 92  %res7 = add i32 %res5, %res693  store i32 %res7, ptr %ptr794 95  ret i32 %res796}97 98define i32 @test_gep() {99; FP-LABEL: test_gep:100; FP:         .cfi_startproc101; FP-NEXT:  ; %bb.0: ; %entry102; FP-NEXT:    link.w %a6, #-256103; FP-NEXT:    .cfi_def_cfa_offset -8104; FP-NEXT:    .cfi_offset %a6, -8105; FP-NEXT:    .cfi_def_cfa_register %a6106; FP-NEXT:    move.l #21, (-4,%a6)107; FP-NEXT:    move.l #12, (-256,%a6)108; FP-NEXT:    moveq #0, %d0109; FP-NEXT:    unlk %a6110; FP-NEXT:    rts111;112; NO-FP-LABEL: test_gep:113; NO-FP:         .cfi_startproc114; NO-FP-NEXT:  ; %bb.0: ; %entry115; NO-FP-NEXT:    suba.l #256, %sp116; NO-FP-NEXT:    .cfi_def_cfa_offset -260117; NO-FP-NEXT:    move.l #21, (252,%sp)118; NO-FP-NEXT:    move.l #12, (0,%sp)119; NO-FP-NEXT:    moveq #0, %d0120; NO-FP-NEXT:    adda.l #256, %sp121; NO-FP-NEXT:    rts122entry:123  %arr = alloca [8 x [8 x i32]]124  %ptr1 = getelementptr [8 x i32], ptr %arr, i64 0, i64 0125  store i32 12, ptr %ptr1126  %ptr2 = getelementptr [8 x i32], ptr %arr, i64 7, i64 7127  store i32 21, ptr %ptr2128  ret i32 0129}130