Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / MSP430 / callee-saved.ll
blob5395f30bc9afb8b53f26af667658d140ca3bf150
1 ; RUN: llc < %s | FileCheck %s
3 target datalayout = "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16"
4 target triple = "msp430-generic-generic"
6 ; Test the r4-r10 callee-saved registers (MSP430 EABI p. 3.2.2).
8 @g = global float 0.0
10 define void @foo() {
11 ; CHECK-LABEL: foo:
12 ; CHECK-NOT: push       r11
13 ; CHECK-NOT: push       r12
14 ; CHECK-NOT: push       r13
15 ; CHECK-NOT: push       r14
16 ; CHECK-NOT: push       r15
17 ; CHECK: push  r4
18 ; CHECK: .cfi_def_cfa_offset 4
19 ; CHECK: push  r5
20 ; CHECK: .cfi_def_cfa_offset 6
21 ; CHECK: push  r6
22 ; CHECK: .cfi_def_cfa_offset 8
23 ; CHECK: push  r7
24 ; CHECK: .cfi_def_cfa_offset 10
25 ; CHECK: push  r8
26 ; CHECK: .cfi_def_cfa_offset 12
27 ; CHECK: push  r9
28 ; CHECK: .cfi_def_cfa_offset 14
29 ; CHECK: push  r10
30 ; CHECK: .cfi_def_cfa_offset 16
32 ; CHECK: .cfi_offset r4, -4
33 ; CHECK: .cfi_offset r5, -6
34 ; CHECK: .cfi_offset r6, -8
35 ; CHECK: .cfi_offset r7, -10
36 ; CHECK: .cfi_offset r8, -12
37 ; CHECK: .cfi_offset r9, -14
38 ; CHECK: .cfi_offset r10, -16
40   %t1 = load volatile float, ptr @g
41   %t2 = load volatile float, ptr @g
42   %t3 = load volatile float, ptr @g
43   %t4 = load volatile float, ptr @g
44   %t5 = load volatile float, ptr @g
45   %t6 = load volatile float, ptr @g
46   %t7 = load volatile float, ptr @g
47   store volatile float %t1, ptr @g
48   store volatile float %t2, ptr @g
49   store volatile float %t3, ptr @g
50   store volatile float %t4, ptr @g
51   store volatile float %t5, ptr @g
52   store volatile float %t6, ptr @g
53   ret void