~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/masked-iv-safe.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=x86-64 > %t
 
2
; RUN: not grep and %t
 
3
; RUN: not grep movz %t
 
4
; RUN: not grep sar %t
 
5
; RUN: not grep shl %t
 
6
; RUN: grep add %t | count 2
 
7
; RUN: grep inc %t | count 4
 
8
; RUN: grep dec %t | count 2
 
9
; RUN: grep lea %t | count 2
 
10
 
 
11
; Optimize away zext-inreg and sext-inreg on the loop induction
 
12
; variable using trip-count information.
 
13
 
 
14
define void @count_up(double* %d, i64 %n) nounwind {
 
15
entry:
 
16
        br label %loop
 
17
 
 
18
loop:
 
19
        %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]
 
20
        %indvar.i8 = and i64 %indvar, 255
 
21
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
22
        %t1 = load double* %t0
 
23
        %t2 = fmul double %t1, 0.1
 
24
        store double %t2, double* %t0
 
25
        %indvar.i24 = and i64 %indvar, 16777215
 
26
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
27
        %t4 = load double* %t3
 
28
        %t5 = fmul double %t4, 2.3
 
29
        store double %t5, double* %t3
 
30
        %t6 = getelementptr double* %d, i64 %indvar
 
31
        %t7 = load double* %t6
 
32
        %t8 = fmul double %t7, 4.5
 
33
        store double %t8, double* %t6
 
34
        %indvar.next = add i64 %indvar, 1
 
35
        %exitcond = icmp eq i64 %indvar.next, 10
 
36
        br i1 %exitcond, label %return, label %loop
 
37
 
 
38
return:
 
39
        ret void
 
40
}
 
41
 
 
42
define void @count_down(double* %d, i64 %n) nounwind {
 
43
entry:
 
44
        br label %loop
 
45
 
 
46
loop:
 
47
        %indvar = phi i64 [ 10, %entry ], [ %indvar.next, %loop ]
 
48
        %indvar.i8 = and i64 %indvar, 255
 
49
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
50
        %t1 = load double* %t0
 
51
        %t2 = fmul double %t1, 0.1
 
52
        store double %t2, double* %t0
 
53
        %indvar.i24 = and i64 %indvar, 16777215
 
54
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
55
        %t4 = load double* %t3
 
56
        %t5 = fmul double %t4, 2.3
 
57
        store double %t5, double* %t3
 
58
        %t6 = getelementptr double* %d, i64 %indvar
 
59
        %t7 = load double* %t6
 
60
        %t8 = fmul double %t7, 4.5
 
61
        store double %t8, double* %t6
 
62
        %indvar.next = sub i64 %indvar, 1
 
63
        %exitcond = icmp eq i64 %indvar.next, 0
 
64
        br i1 %exitcond, label %return, label %loop
 
65
 
 
66
return:
 
67
        ret void
 
68
}
 
69
 
 
70
define void @count_up_signed(double* %d, i64 %n) nounwind {
 
71
entry:
 
72
        br label %loop
 
73
 
 
74
loop:
 
75
        %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]
 
76
        %s0 = shl i64 %indvar, 8
 
77
        %indvar.i8 = ashr i64 %s0, 8
 
78
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
79
        %t1 = load double* %t0
 
80
        %t2 = fmul double %t1, 0.1
 
81
        store double %t2, double* %t0
 
82
        %s1 = shl i64 %indvar, 24
 
83
        %indvar.i24 = ashr i64 %s1, 24
 
84
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
85
        %t4 = load double* %t3
 
86
        %t5 = fmul double %t4, 2.3
 
87
        store double %t5, double* %t3
 
88
        %t6 = getelementptr double* %d, i64 %indvar
 
89
        %t7 = load double* %t6
 
90
        %t8 = fmul double %t7, 4.5
 
91
        store double %t8, double* %t6
 
92
        %indvar.next = add i64 %indvar, 1
 
93
        %exitcond = icmp eq i64 %indvar.next, 10
 
94
        br i1 %exitcond, label %return, label %loop
 
95
 
 
96
return:
 
97
        ret void
 
98
}
 
99
 
 
100
define void @count_down_signed(double* %d, i64 %n) nounwind {
 
101
entry:
 
102
        br label %loop
 
103
 
 
104
loop:
 
105
        %indvar = phi i64 [ 10, %entry ], [ %indvar.next, %loop ]
 
106
        %s0 = shl i64 %indvar, 8
 
107
        %indvar.i8 = ashr i64 %s0, 8
 
108
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
109
        %t1 = load double* %t0
 
110
        %t2 = fmul double %t1, 0.1
 
111
        store double %t2, double* %t0
 
112
        %s1 = shl i64 %indvar, 24
 
113
        %indvar.i24 = ashr i64 %s1, 24
 
114
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
115
        %t4 = load double* %t3
 
116
        %t5 = fmul double %t4, 2.3
 
117
        store double %t5, double* %t3
 
118
        %t6 = getelementptr double* %d, i64 %indvar
 
119
        %t7 = load double* %t6
 
120
        %t8 = fmul double %t7, 4.5
 
121
        store double %t8, double* %t6
 
122
        %indvar.next = sub i64 %indvar, 1
 
123
        %exitcond = icmp eq i64 %indvar.next, 0
 
124
        br i1 %exitcond, label %return, label %loop
 
125
 
 
126
return:
 
127
        ret void
 
128
}
 
129
 
 
130
define void @another_count_up(double* %d, i64 %n) nounwind {
 
131
entry:
 
132
        br label %loop
 
133
 
 
134
loop:
 
135
        %indvar = phi i64 [ 18446744073709551615, %entry ], [ %indvar.next, %loop ]
 
136
        %indvar.i8 = and i64 %indvar, 255
 
137
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
138
        %t1 = load double* %t0
 
139
        %t2 = fmul double %t1, 0.1
 
140
        store double %t2, double* %t0
 
141
        %indvar.i24 = and i64 %indvar, 16777215
 
142
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
143
        %t4 = load double* %t3
 
144
        %t5 = fmul double %t4, 2.3
 
145
        store double %t5, double* %t3
 
146
        %t6 = getelementptr double* %d, i64 %indvar
 
147
        %t7 = load double* %t6
 
148
        %t8 = fmul double %t7, 4.5
 
149
        store double %t8, double* %t6
 
150
        %indvar.next = add i64 %indvar, 1
 
151
        %exitcond = icmp eq i64 %indvar.next, 0
 
152
        br i1 %exitcond, label %return, label %loop
 
153
 
 
154
return:
 
155
        ret void
 
156
}
 
157
 
 
158
define void @another_count_down(double* %d, i64 %n) nounwind {
 
159
entry:
 
160
        br label %loop
 
161
 
 
162
loop:
 
163
        %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]
 
164
        %indvar.i8 = and i64 %indvar, 255
 
165
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
166
        %t1 = load double* %t0
 
167
        %t2 = fmul double %t1, 0.1
 
168
        store double %t2, double* %t0
 
169
        %indvar.i24 = and i64 %indvar, 16777215
 
170
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
171
        %t4 = load double* %t3
 
172
        %t5 = fdiv double %t4, 2.3
 
173
        store double %t5, double* %t3
 
174
        %t6 = getelementptr double* %d, i64 %indvar
 
175
        %t7 = load double* %t6
 
176
        %t8 = fmul double %t7, 4.5
 
177
        store double %t8, double* %t6
 
178
        %indvar.next = sub i64 %indvar, 1
 
179
        %exitcond = icmp eq i64 %indvar.next, 18446744073709551615
 
180
        br i1 %exitcond, label %return, label %loop
 
181
 
 
182
return:
 
183
        ret void
 
184
}
 
185
 
 
186
define void @another_count_up_signed(double* %d, i64 %n) nounwind {
 
187
entry:
 
188
        br label %loop
 
189
 
 
190
loop:
 
191
        %indvar = phi i64 [ 18446744073709551615, %entry ], [ %indvar.next, %loop ]
 
192
        %s0 = shl i64 %indvar, 8
 
193
        %indvar.i8 = ashr i64 %s0, 8
 
194
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
195
        %t1 = load double* %t0
 
196
        %t2 = fmul double %t1, 0.1
 
197
        store double %t2, double* %t0
 
198
        %s1 = shl i64 %indvar, 24
 
199
        %indvar.i24 = ashr i64 %s1, 24
 
200
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
201
        %t4 = load double* %t3
 
202
        %t5 = fdiv double %t4, 2.3
 
203
        store double %t5, double* %t3
 
204
        %t6 = getelementptr double* %d, i64 %indvar
 
205
        %t7 = load double* %t6
 
206
        %t8 = fmul double %t7, 4.5
 
207
        store double %t8, double* %t6
 
208
        %indvar.next = add i64 %indvar, 1
 
209
        %exitcond = icmp eq i64 %indvar.next, 0
 
210
        br i1 %exitcond, label %return, label %loop
 
211
 
 
212
return:
 
213
        ret void
 
214
}
 
215
 
 
216
define void @another_count_down_signed(double* %d, i64 %n) nounwind {
 
217
entry:
 
218
        br label %loop
 
219
 
 
220
loop:
 
221
        %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %loop ]
 
222
        %s0 = shl i64 %indvar, 8
 
223
        %indvar.i8 = ashr i64 %s0, 8
 
224
        %t0 = getelementptr double* %d, i64 %indvar.i8
 
225
        %t1 = load double* %t0
 
226
        %t2 = fmul double %t1, 0.1
 
227
        store double %t2, double* %t0
 
228
        %s1 = shl i64 %indvar, 24
 
229
        %indvar.i24 = ashr i64 %s1, 24
 
230
        %t3 = getelementptr double* %d, i64 %indvar.i24
 
231
        %t4 = load double* %t3
 
232
        %t5 = fdiv double %t4, 2.3
 
233
        store double %t5, double* %t3
 
234
        %t6 = getelementptr double* %d, i64 %indvar
 
235
        %t7 = load double* %t6
 
236
        %t8 = fmul double %t7, 4.5
 
237
        store double %t8, double* %t6
 
238
        %indvar.next = sub i64 %indvar, 1
 
239
        %exitcond = icmp eq i64 %indvar.next, 18446744073709551615
 
240
        br i1 %exitcond, label %return, label %loop
 
241
 
 
242
return:
 
243
        ret void
 
244
}