• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s | FileCheck %s
2
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.0
9
10define void @foo() {
11; CHECK-LABEL: foo:
12; CHECK-NOT: push	r15
13; CHECK-NOT: push	r14
14; CHECK-NOT: push	r13
15; CHECK-NOT: push	r12
16; CHECK-NOT: push	r11
17; CHECK: push	r10
18; CHECK: push	r9
19; CHECK: push	r8
20; CHECK: push	r7
21; CHECK: push	r6
22; CHECK: push	r5
23; CHECK: push	r4
24  %t1 = load volatile float, float* @g
25  %t2 = load volatile float, float* @g
26  %t3 = load volatile float, float* @g
27  %t4 = load volatile float, float* @g
28  %t5 = load volatile float, float* @g
29  %t6 = load volatile float, float* @g
30  %t7 = load volatile float, float* @g
31  store volatile float %t1, float* @g
32  store volatile float %t2, float* @g
33  store volatile float %t3, float* @g
34  store volatile float %t4, float* @g
35  store volatile float %t5, float* @g
36  store volatile float %t6, float* @g
37  ret void
38}
39