~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/PowerPC/eqv-andc-orc-nor.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=ppc32 | \
 
2
; RUN:   grep eqv | count 3
 
3
; RUN: llc < %s -march=ppc32 -mcpu=g5 | \
 
4
; RUN:   grep andc | count 3
 
5
; RUN: llc < %s -march=ppc32 | \
 
6
; RUN:   grep orc | count 2
 
7
; RUN: llc < %s -march=ppc32 -mcpu=g5 | \
 
8
; RUN:   grep nor | count 3
 
9
; RUN: llc < %s -march=ppc32 | \
 
10
; RUN:   grep nand | count 1
 
11
 
 
12
define i32 @EQV1(i32 %X, i32 %Y) {
 
13
        %A = xor i32 %X, %Y             ; <i32> [#uses=1]
 
14
        %B = xor i32 %A, -1             ; <i32> [#uses=1]
 
15
        ret i32 %B
 
16
}
 
17
 
 
18
define i32 @EQV2(i32 %X, i32 %Y) {
 
19
        %A = xor i32 %X, -1             ; <i32> [#uses=1]
 
20
        %B = xor i32 %A, %Y             ; <i32> [#uses=1]
 
21
        ret i32 %B
 
22
}
 
23
 
 
24
define i32 @EQV3(i32 %X, i32 %Y) {
 
25
        %A = xor i32 %X, -1             ; <i32> [#uses=1]
 
26
        %B = xor i32 %Y, %A             ; <i32> [#uses=1]
 
27
        ret i32 %B
 
28
}
 
29
 
 
30
define i32 @ANDC1(i32 %X, i32 %Y) {
 
31
        %A = xor i32 %Y, -1             ; <i32> [#uses=1]
 
32
        %B = and i32 %X, %A             ; <i32> [#uses=1]
 
33
        ret i32 %B
 
34
}
 
35
 
 
36
define i32 @ANDC2(i32 %X, i32 %Y) {
 
37
        %A = xor i32 %X, -1             ; <i32> [#uses=1]
 
38
        %B = and i32 %A, %Y             ; <i32> [#uses=1]
 
39
        ret i32 %B
 
40
}
 
41
 
 
42
define i32 @ORC1(i32 %X, i32 %Y) {
 
43
        %A = xor i32 %Y, -1             ; <i32> [#uses=1]
 
44
        %B = or i32 %X, %A              ; <i32> [#uses=1]
 
45
        ret i32 %B
 
46
}
 
47
 
 
48
define i32 @ORC2(i32 %X, i32 %Y) {
 
49
        %A = xor i32 %X, -1             ; <i32> [#uses=1]
 
50
        %B = or i32 %A, %Y              ; <i32> [#uses=1]
 
51
        ret i32 %B
 
52
}
 
53
 
 
54
define i32 @NOR1(i32 %X) {
 
55
        %Y = xor i32 %X, -1             ; <i32> [#uses=1]
 
56
        ret i32 %Y
 
57
}
 
58
 
 
59
define i32 @NOR2(i32 %X, i32 %Y) {
 
60
        %Z = or i32 %X, %Y              ; <i32> [#uses=1]
 
61
        %R = xor i32 %Z, -1             ; <i32> [#uses=1]
 
62
        ret i32 %R
 
63
}
 
64
 
 
65
define i32 @NAND1(i32 %X, i32 %Y) {
 
66
        %Z = and i32 %X, %Y             ; <i32> [#uses=1]
 
67
        %W = xor i32 %Z, -1             ; <i32> [#uses=1]
 
68
        ret i32 %W
 
69
}
 
70
 
 
71
define void @VNOR(<4 x float>* %P, <4 x float>* %Q) {
 
72
        %tmp = load <4 x float>* %P             ; <<4 x float>> [#uses=1]
 
73
        %tmp.upgrd.1 = bitcast <4 x float> %tmp to <4 x i32>            ; <<4 x i32>> [#uses=1]
 
74
        %tmp2 = load <4 x float>* %Q            ; <<4 x float>> [#uses=1]
 
75
        %tmp2.upgrd.2 = bitcast <4 x float> %tmp2 to <4 x i32>          ; <<4 x i32>> [#uses=1]
 
76
        %tmp3 = or <4 x i32> %tmp.upgrd.1, %tmp2.upgrd.2                ; <<4 x i32>> [#uses=1]
 
77
        %tmp4 = xor <4 x i32> %tmp3, < i32 -1, i32 -1, i32 -1, i32 -1 >         ; <<4 x i32>> [#uses=1]
 
78
        %tmp4.upgrd.3 = bitcast <4 x i32> %tmp4 to <4 x float>          ; <<4 x float>> [#uses=1]
 
79
        store <4 x float> %tmp4.upgrd.3, <4 x float>* %P
 
80
        ret void
 
81
}
 
82
 
 
83
define void @VANDC(<4 x float>* %P, <4 x float>* %Q) {
 
84
        %tmp = load <4 x float>* %P             ; <<4 x float>> [#uses=1]
 
85
        %tmp.upgrd.4 = bitcast <4 x float> %tmp to <4 x i32>            ; <<4 x i32>> [#uses=1]
 
86
        %tmp2 = load <4 x float>* %Q            ; <<4 x float>> [#uses=1]
 
87
        %tmp2.upgrd.5 = bitcast <4 x float> %tmp2 to <4 x i32>          ; <<4 x i32>> [#uses=1]
 
88
        %tmp4 = xor <4 x i32> %tmp2.upgrd.5, < i32 -1, i32 -1, i32 -1, i32 -1 >         ; <<4 x i32>> [#uses=1]
 
89
        %tmp3 = and <4 x i32> %tmp.upgrd.4, %tmp4               ; <<4 x i32>> [#uses=1]
 
90
        %tmp4.upgrd.6 = bitcast <4 x i32> %tmp3 to <4 x float>          ; <<4 x float>> [#uses=1]
 
91
        store <4 x float> %tmp4.upgrd.6, <4 x float>* %P
 
92
        ret void
 
93
}