~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/CodeGen/AArch64/regress-w29-reserved-with-fp.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc -mtriple=aarch64-none-linux-gnu -disable-fp-elim < %s | FileCheck %s
 
2
@var = global i32 0
 
3
 
 
4
declare void @bar()
 
5
 
 
6
define void @test_w29_reserved() {
 
7
; CHECK-LABEL: test_w29_reserved:
 
8
; CHECK: add x29, sp, #{{[0-9]+}}
 
9
 
 
10
  %val1 = load volatile i32, i32* @var
 
11
  %val2 = load volatile i32, i32* @var
 
12
  %val3 = load volatile i32, i32* @var
 
13
  %val4 = load volatile i32, i32* @var
 
14
  %val5 = load volatile i32, i32* @var
 
15
  %val6 = load volatile i32, i32* @var
 
16
  %val7 = load volatile i32, i32* @var
 
17
  %val8 = load volatile i32, i32* @var
 
18
  %val9 = load volatile i32, i32* @var
 
19
 
 
20
; CHECK-NOT: ldr w29,
 
21
 
 
22
  ; Call to prevent fp-elim that occurs regardless in leaf functions.
 
23
  call void @bar()
 
24
 
 
25
  store volatile i32 %val1,  i32* @var
 
26
  store volatile i32 %val2,  i32* @var
 
27
  store volatile i32 %val3,  i32* @var
 
28
  store volatile i32 %val4,  i32* @var
 
29
  store volatile i32 %val5,  i32* @var
 
30
  store volatile i32 %val6,  i32* @var
 
31
  store volatile i32 %val7,  i32* @var
 
32
  store volatile i32 %val8,  i32* @var
 
33
  store volatile i32 %val9,  i32* @var
 
34
 
 
35
  ret void
 
36
; CHECK: ret
 
37
}