~ubuntu-branches/ubuntu/maverick/clamav/maverick-updates

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/stride-nine-with-base-reg.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-12-17 12:30:20 UTC
  • mfrom: (97.1.1 maverick-proposed)
  • Revision ID: james.westby@ubuntu.com-20101217123020-o02fhyzykv5z98ri
Tags: 0.96.5+dfsg-1ubuntu1.10.10.1
* Microversion update for Maverick (LP: #691414)
  - Improved database login times
  - Expanded use of new bytecode signatures
  - Other bugfixes/improvements

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
; RUN: llc < %s -march=x86 -relocation-model=static | not grep lea
2
 
; RUN: llc < %s -march=x86-64 | not grep lea
3
 
 
4
 
; P should be sunk into the loop and folded into the address mode. There
5
 
; shouldn't be any lea instructions inside the loop.
6
 
 
7
 
@B = external global [1000 x i8], align 32
8
 
@A = external global [1000 x i8], align 32
9
 
@P = external global [1000 x i8], align 32
10
 
@Q = external global [1000 x i8], align 32
11
 
 
12
 
define void @foo(i32 %m, i32 %p) nounwind {
13
 
entry:
14
 
        %tmp1 = icmp sgt i32 %m, 0
15
 
        br i1 %tmp1, label %bb, label %return
16
 
 
17
 
bb:
18
 
        %i.019.0 = phi i32 [ %indvar.next, %bb ], [ 0, %entry ]
19
 
        %tmp2 = getelementptr [1000 x i8]* @B, i32 0, i32 %i.019.0
20
 
        %tmp3 = load i8* %tmp2, align 4
21
 
        %tmp4 = mul i8 %tmp3, 2
22
 
        %tmp5 = getelementptr [1000 x i8]* @A, i32 0, i32 %i.019.0
23
 
        store i8 %tmp4, i8* %tmp5, align 4
24
 
        %tmp8 = mul i32 %i.019.0, 9
25
 
        %tmp0 = add i32 %tmp8, %p
26
 
        %tmp10 = getelementptr [1000 x i8]* @P, i32 0, i32 %tmp0
27
 
        store i8 17, i8* %tmp10, align 4
28
 
        %tmp11 = getelementptr [1000 x i8]* @Q, i32 0, i32 %tmp0
29
 
        store i8 19, i8* %tmp11, align 4
30
 
        %indvar.next = add i32 %i.019.0, 1
31
 
        %exitcond = icmp eq i32 %indvar.next, %m
32
 
        br i1 %exitcond, label %return, label %bb
33
 
 
34
 
return:
35
 
        ret void
36
 
}
37