brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · ad3215e Raw
56 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple thumbv4t-eabi    < %s | FileCheck %s --check-prefix=CHECK-V4T3; RUN: llc -mtriple armv8m.base-eabi < %s | FileCheck %s --check-prefix=CHECK-V8M4 5target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"6 7; Function Attrs: nounwind8define <4 x i32> @f() local_unnamed_addr #0 {9; CHECK-V4T-LABEL: f:10; CHECK-V4T:       @ %bb.0: @ %entry11; CHECK-V4T-NEXT:    .save {r7, lr}12; CHECK-V4T-NEXT:    push {r7, lr}13; CHECK-V4T-NEXT:    .setfp r7, sp14; CHECK-V4T-NEXT:    add r7, sp, #015; CHECK-V4T-NEXT:    movs r0, #116; CHECK-V4T-NEXT:    bl h17; CHECK-V4T-NEXT:    movs r1, #218; CHECK-V4T-NEXT:    movs r2, #319; CHECK-V4T-NEXT:    movs r3, #420; CHECK-V4T-NEXT:    bl g21; CHECK-V4T-NEXT:    pop {r7}22; CHECK-V4T-NEXT:    mov r12, r023; CHECK-V4T-NEXT:    pop {r0}24; CHECK-V4T-NEXT:    mov lr, r025; CHECK-V4T-NEXT:    mov r0, r1226; CHECK-V4T-NEXT:    bx lr27;28; CHECK-V8M-LABEL: f:29; CHECK-V8M:       @ %bb.0: @ %entry30; CHECK-V8M-NEXT:    .save {r7, lr}31; CHECK-V8M-NEXT:    push {r7, lr}32; CHECK-V8M-NEXT:    .setfp r7, sp33; CHECK-V8M-NEXT:    add r7, sp, #034; CHECK-V8M-NEXT:    movs r0, #135; CHECK-V8M-NEXT:    bl h36; CHECK-V8M-NEXT:    movs r1, #237; CHECK-V8M-NEXT:    movs r2, #338; CHECK-V8M-NEXT:    movs r3, #439; CHECK-V8M-NEXT:    pop {r7}40; CHECK-V8M-NEXT:    mov r12, r041; CHECK-V8M-NEXT:    pop {r0}42; CHECK-V8M-NEXT:    mov lr, r043; CHECK-V8M-NEXT:    mov r0, r1244; CHECK-V8M-NEXT:    b g45entry:46  %call = tail call i32 @h(i32 1)47  %call1 = tail call <4 x i32> @g(i32 %call, i32 2, i32 3, i32 4)48  ret <4 x i32> %call149}50 51declare <4 x i32> @g(i32, i32, i32, i32) local_unnamed_addr52 53declare i32 @h(i32) local_unnamed_addr54 55attributes #0 = { "disable-tail-calls"="false" "frame-pointer"="all" }56