55 lines · plain
1; RUN: llc < %s | FileCheck %s2 3target datalayout = "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16"4target triple = "msp430-generic-generic"5 6; Test the r4-r10 callee-saved registers (MSP430 EABI p. 3.2.2).7 8@g = global float 0.09 10define void @foo() {11; CHECK-LABEL: foo:12; CHECK-NOT: push r1113; CHECK-NOT: push r1214; CHECK-NOT: push r1315; CHECK-NOT: push r1416; CHECK-NOT: push r1517; CHECK: push r418; CHECK: .cfi_def_cfa_offset 419; CHECK: push r520; CHECK: .cfi_def_cfa_offset 621; CHECK: push r622; CHECK: .cfi_def_cfa_offset 823; CHECK: push r724; CHECK: .cfi_def_cfa_offset 1025; CHECK: push r826; CHECK: .cfi_def_cfa_offset 1227; CHECK: push r928; CHECK: .cfi_def_cfa_offset 1429; CHECK: push r1030; CHECK: .cfi_def_cfa_offset 1631 32; CHECK: .cfi_offset r4, -433; CHECK: .cfi_offset r5, -634; CHECK: .cfi_offset r6, -835; CHECK: .cfi_offset r7, -1036; CHECK: .cfi_offset r8, -1237; CHECK: .cfi_offset r9, -1438; CHECK: .cfi_offset r10, -1639 40 %t1 = load volatile float, ptr @g41 %t2 = load volatile float, ptr @g42 %t3 = load volatile float, ptr @g43 %t4 = load volatile float, ptr @g44 %t5 = load volatile float, ptr @g45 %t6 = load volatile float, ptr @g46 %t7 = load volatile float, ptr @g47 store volatile float %t1, ptr @g48 store volatile float %t2, ptr @g49 store volatile float %t3, ptr @g50 store volatile float %t4, ptr @g51 store volatile float %t5, ptr @g52 store volatile float %t6, ptr @g53 ret void54}55