~ubuntu-branches/ubuntu/maverick/clamav/maverick-backports

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/PowerPC/rlwimi.ll

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Gran, Stephen Gran, Michael Tautschnig
  • Date: 2010-04-26 21:41:18 UTC
  • mfrom: (2.1.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100426214118-i6lo606wnh7ywfj6
Tags: 0.96+dfsg-4
[ Stephen Gran ]
* Fixed typo in clamav-milter's postinst

[ Michael Tautschnig ]
* Fixed typo in clamav-freshclam's postinst (closes: #579271)
* Debconf translation updates
  - Portuguese (closes: #579068)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; All of these ands and shifts should be folded into rlwimi's
 
2
; RUN: llc < %s -march=ppc32 | not grep and
 
3
; RUN: llc < %s -march=ppc32 | grep rlwimi | count 8
 
4
 
 
5
define i32 @test1(i32 %x, i32 %y) {
 
6
entry:
 
7
        %tmp.3 = shl i32 %x, 16         ; <i32> [#uses=1]
 
8
        %tmp.7 = and i32 %y, 65535              ; <i32> [#uses=1]
 
9
        %tmp.9 = or i32 %tmp.7, %tmp.3          ; <i32> [#uses=1]
 
10
        ret i32 %tmp.9
 
11
}
 
12
 
 
13
define i32 @test2(i32 %x, i32 %y) {
 
14
entry:
 
15
        %tmp.7 = and i32 %x, 65535              ; <i32> [#uses=1]
 
16
        %tmp.3 = shl i32 %y, 16         ; <i32> [#uses=1]
 
17
        %tmp.9 = or i32 %tmp.7, %tmp.3          ; <i32> [#uses=1]
 
18
        ret i32 %tmp.9
 
19
}
 
20
 
 
21
define i32 @test3(i32 %x, i32 %y) {
 
22
entry:
 
23
        %tmp.3 = lshr i32 %x, 16                ; <i32> [#uses=1]
 
24
        %tmp.6 = and i32 %y, -65536             ; <i32> [#uses=1]
 
25
        %tmp.7 = or i32 %tmp.6, %tmp.3          ; <i32> [#uses=1]
 
26
        ret i32 %tmp.7
 
27
}
 
28
 
 
29
define i32 @test4(i32 %x, i32 %y) {
 
30
entry:
 
31
        %tmp.6 = and i32 %x, -65536             ; <i32> [#uses=1]
 
32
        %tmp.3 = lshr i32 %y, 16                ; <i32> [#uses=1]
 
33
        %tmp.7 = or i32 %tmp.6, %tmp.3          ; <i32> [#uses=1]
 
34
        ret i32 %tmp.7
 
35
}
 
36
 
 
37
define i32 @test5(i32 %x, i32 %y) {
 
38
entry:
 
39
        %tmp.3 = shl i32 %x, 1          ; <i32> [#uses=1]
 
40
        %tmp.4 = and i32 %tmp.3, -65536         ; <i32> [#uses=1]
 
41
        %tmp.7 = and i32 %y, 65535              ; <i32> [#uses=1]
 
42
        %tmp.9 = or i32 %tmp.4, %tmp.7          ; <i32> [#uses=1]
 
43
        ret i32 %tmp.9
 
44
}
 
45
 
 
46
define i32 @test6(i32 %x, i32 %y) {
 
47
entry:
 
48
        %tmp.7 = and i32 %x, 65535              ; <i32> [#uses=1]
 
49
        %tmp.3 = shl i32 %y, 1          ; <i32> [#uses=1]
 
50
        %tmp.4 = and i32 %tmp.3, -65536         ; <i32> [#uses=1]
 
51
        %tmp.9 = or i32 %tmp.4, %tmp.7          ; <i32> [#uses=1]
 
52
        ret i32 %tmp.9
 
53
}
 
54
 
 
55
define i32 @test7(i32 %x, i32 %y) {
 
56
entry:
 
57
        %tmp.2 = and i32 %x, -65536             ; <i32> [#uses=1]
 
58
        %tmp.5 = and i32 %y, 65535              ; <i32> [#uses=1]
 
59
        %tmp.7 = or i32 %tmp.5, %tmp.2          ; <i32> [#uses=1]
 
60
        ret i32 %tmp.7
 
61
}
 
62
 
 
63
define i32 @test8(i32 %bar) {
 
64
entry:
 
65
        %tmp.3 = shl i32 %bar, 1                ; <i32> [#uses=1]
 
66
        %tmp.4 = and i32 %tmp.3, 2              ; <i32> [#uses=1]
 
67
        %tmp.6 = and i32 %bar, -3               ; <i32> [#uses=1]
 
68
        %tmp.7 = or i32 %tmp.4, %tmp.6          ; <i32> [#uses=1]
 
69
        ret i32 %tmp.7
 
70
}