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

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/PowerPC/rlwimi-commute.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=ppc32 | grep rlwimi
2
 
; RUN: llc < %s -march=ppc32 | not grep {or }
3
 
 
4
 
; Make sure there is no register-register copies here.
5
 
 
6
 
define void @test1(i32* %A, i32* %B, i32* %D, i32* %E) {
7
 
        %A.upgrd.1 = load i32* %A               ; <i32> [#uses=2]
8
 
        %B.upgrd.2 = load i32* %B               ; <i32> [#uses=1]
9
 
        %X = and i32 %A.upgrd.1, 15             ; <i32> [#uses=1]
10
 
        %Y = and i32 %B.upgrd.2, -16            ; <i32> [#uses=1]
11
 
        %Z = or i32 %X, %Y              ; <i32> [#uses=1]
12
 
        store i32 %Z, i32* %D
13
 
        store i32 %A.upgrd.1, i32* %E
14
 
        ret void
15
 
}
16
 
 
17
 
define void @test2(i32* %A, i32* %B, i32* %D, i32* %E) {
18
 
        %A.upgrd.3 = load i32* %A               ; <i32> [#uses=1]
19
 
        %B.upgrd.4 = load i32* %B               ; <i32> [#uses=2]
20
 
        %X = and i32 %A.upgrd.3, 15             ; <i32> [#uses=1]
21
 
        %Y = and i32 %B.upgrd.4, -16            ; <i32> [#uses=1]
22
 
        %Z = or i32 %X, %Y              ; <i32> [#uses=1]
23
 
        store i32 %Z, i32* %D
24
 
        store i32 %B.upgrd.4, i32* %E
25
 
        ret void
26
 
}
27
 
 
28
 
define i32 @test3(i32 %a, i32 %b) {
29
 
        %tmp.1 = and i32 %a, 15         ; <i32> [#uses=1]
30
 
        %tmp.3 = and i32 %b, 240                ; <i32> [#uses=1]
31
 
        %tmp.4 = or i32 %tmp.3, %tmp.1          ; <i32> [#uses=1]
32
 
        ret i32 %tmp.4
33
 
}
34