~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/Thumb2/thumb2-uxtb.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s -march=thumb -mattr=+thumb2 | FileCheck %s
 
2
 
 
3
define i32 @test1(i32 %x) {
 
4
; CHECK: test1
 
5
; CHECK: uxtb16  r0, r0
 
6
        %tmp1 = and i32 %x, 16711935            ; <i32> [#uses=1]
 
7
        ret i32 %tmp1
 
8
}
 
9
 
 
10
define i32 @test2(i32 %x) {
 
11
; CHECK: test2
 
12
; CHECK: uxtb16  r0, r0, ror #8
 
13
        %tmp1 = lshr i32 %x, 8          ; <i32> [#uses=1]
 
14
        %tmp2 = and i32 %tmp1, 16711935         ; <i32> [#uses=1]
 
15
        ret i32 %tmp2
 
16
}
 
17
 
 
18
define i32 @test3(i32 %x) {
 
19
; CHECK: test3
 
20
; CHECK: uxtb16  r0, r0, ror #8
 
21
        %tmp1 = lshr i32 %x, 8          ; <i32> [#uses=1]
 
22
        %tmp2 = and i32 %tmp1, 16711935         ; <i32> [#uses=1]
 
23
        ret i32 %tmp2
 
24
}
 
25
 
 
26
define i32 @test4(i32 %x) {
 
27
; CHECK: test4
 
28
; CHECK: uxtb16  r0, r0, ror #8
 
29
        %tmp1 = lshr i32 %x, 8          ; <i32> [#uses=1]
 
30
        %tmp6 = and i32 %tmp1, 16711935         ; <i32> [#uses=1]
 
31
        ret i32 %tmp6
 
32
}
 
33
 
 
34
define i32 @test5(i32 %x) {
 
35
; CHECK: test5
 
36
; CHECK: uxtb16  r0, r0, ror #8
 
37
        %tmp1 = lshr i32 %x, 8          ; <i32> [#uses=1]
 
38
        %tmp2 = and i32 %tmp1, 16711935         ; <i32> [#uses=1]
 
39
        ret i32 %tmp2
 
40
}
 
41
 
 
42
define i32 @test6(i32 %x) {
 
43
; CHECK: test6
 
44
; CHECK: uxtb16  r0, r0, ror #16
 
45
        %tmp1 = lshr i32 %x, 16         ; <i32> [#uses=1]
 
46
        %tmp2 = and i32 %tmp1, 255              ; <i32> [#uses=1]
 
47
        %tmp4 = shl i32 %x, 16          ; <i32> [#uses=1]
 
48
        %tmp5 = and i32 %tmp4, 16711680         ; <i32> [#uses=1]
 
49
        %tmp6 = or i32 %tmp2, %tmp5             ; <i32> [#uses=1]
 
50
        ret i32 %tmp6
 
51
}
 
52
 
 
53
define i32 @test7(i32 %x) {
 
54
; CHECK: test7
 
55
; CHECK: uxtb16  r0, r0, ror #16
 
56
        %tmp1 = lshr i32 %x, 16         ; <i32> [#uses=1]
 
57
        %tmp2 = and i32 %tmp1, 255              ; <i32> [#uses=1]
 
58
        %tmp4 = shl i32 %x, 16          ; <i32> [#uses=1]
 
59
        %tmp5 = and i32 %tmp4, 16711680         ; <i32> [#uses=1]
 
60
        %tmp6 = or i32 %tmp2, %tmp5             ; <i32> [#uses=1]
 
61
        ret i32 %tmp6
 
62
}
 
63
 
 
64
define i32 @test8(i32 %x) {
 
65
; CHECK: test8
 
66
; CHECK: uxtb16  r0, r0, ror #24
 
67
        %tmp1 = shl i32 %x, 8           ; <i32> [#uses=1]
 
68
        %tmp2 = and i32 %tmp1, 16711680         ; <i32> [#uses=1]
 
69
        %tmp5 = lshr i32 %x, 24         ; <i32> [#uses=1]
 
70
        %tmp6 = or i32 %tmp2, %tmp5             ; <i32> [#uses=1]
 
71
        ret i32 %tmp6
 
72
}
 
73
 
 
74
define i32 @test9(i32 %x) {
 
75
; CHECK: test9
 
76
; CHECK: uxtb16  r0, r0, ror #24
 
77
        %tmp1 = lshr i32 %x, 24         ; <i32> [#uses=1]
 
78
        %tmp4 = shl i32 %x, 8           ; <i32> [#uses=1]
 
79
        %tmp5 = and i32 %tmp4, 16711680         ; <i32> [#uses=1]
 
80
        %tmp6 = or i32 %tmp5, %tmp1             ; <i32> [#uses=1]
 
81
        ret i32 %tmp6
 
82
}
 
83
 
 
84
define i32 @test10(i32 %p0) {
 
85
; CHECK: test10
 
86
; CHECK: mov.w r1, #16253176
 
87
; CHECK: and.w r0, r1, r0, lsr #7
 
88
; CHECK: lsrs  r1, r0, #5
 
89
; CHECK: uxtb16  r1, r1
 
90
; CHECK: orr.w r0, r1, r0
 
91
 
 
92
        %tmp1 = lshr i32 %p0, 7         ; <i32> [#uses=1]
 
93
        %tmp2 = and i32 %tmp1, 16253176         ; <i32> [#uses=2]
 
94
        %tmp4 = lshr i32 %tmp2, 5               ; <i32> [#uses=1]
 
95
        %tmp5 = and i32 %tmp4, 458759           ; <i32> [#uses=1]
 
96
        %tmp7 = or i32 %tmp5, %tmp2             ; <i32> [#uses=1]
 
97
        ret i32 %tmp7
 
98
}