~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/nancvt.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
; CLAMAV local: no opt
 
2
; RUNX: opt < %s -std-compile-opts | llc > %t
 
3
; RUNX: grep 2147027116 %t | count 3
 
4
; RUNX: grep 2147228864 %t | count 3
 
5
; RUNX: grep 2146502828 %t | count 3
 
6
; RUNX: grep 2143034560 %t | count 3
 
7
; RUN: true
 
8
; Compile time conversions of NaNs.
 
9
; ModuleID = 'nan2.c'
 
10
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 
11
target triple = "i686-apple-darwin8"
 
12
        %struct..0anon = type { float }
 
13
        %struct..1anon = type { double }
 
14
@fnan = constant [3 x i32] [ i32 2143831397, i32 2143831396, i32 2143831398 ]           ; <[3 x i32]*> [#uses=1]
 
15
@dnan = constant [3 x i64] [ i64 9223235251041752696, i64 9223235251041752697, i64 9223235250773317239 ], align 8               ; <[3 x i64]*> [#uses=1]
 
16
@fsnan = constant [3 x i32] [ i32 2139637093, i32 2139637092, i32 2139637094 ]          ; <[3 x i32]*> [#uses=1]
 
17
@dsnan = constant [3 x i64] [ i64 9220983451228067448, i64 9220983451228067449, i64 9220983450959631991 ], align 8              ; <[3 x i64]*> [#uses=1]
 
18
@.str = internal constant [10 x i8] c"%08x%08x\0A\00"           ; <[10 x i8]*> [#uses=2]
 
19
@.str1 = internal constant [6 x i8] c"%08x\0A\00"               ; <[6 x i8]*> [#uses=2]
 
20
 
 
21
@var = external global i32
 
22
 
 
23
define i32 @main() {
 
24
entry:
 
25
        %retval = alloca i32, align 4           ; <i32*> [#uses=1]
 
26
        %i = alloca i32, align 4                ; <i32*> [#uses=20]
 
27
        %uf = alloca %struct..0anon, align 4            ; <%struct..0anon*> [#uses=8]
 
28
        %ud = alloca %struct..1anon, align 8            ; <%struct..1anon*> [#uses=10]
 
29
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
 
30
        store i32 0, i32* %i, align 4
 
31
        br label %bb23
 
32
 
 
33
bb:             ; preds = %bb23
 
34
        %tmp = load i32* %i, align 4            ; <i32> [#uses=1]
 
35
        %tmp1 = getelementptr [3 x i32]* @fnan, i32 0, i32 %tmp         ; <i32*> [#uses=1]
 
36
        %tmp2 = load i32* %tmp1, align 4                ; <i32> [#uses=1]
 
37
        %tmp3 = getelementptr %struct..0anon* %uf, i32 0, i32 0         ; <float*> [#uses=1]
 
38
        %tmp34 = bitcast float* %tmp3 to i32*           ; <i32*> [#uses=1]
 
39
        store i32 %tmp2, i32* %tmp34, align 4
 
40
        %tmp5 = getelementptr %struct..0anon* %uf, i32 0, i32 0         ; <float*> [#uses=1]
 
41
        %tmp6 = load float* %tmp5, align 4              ; <float> [#uses=1]
 
42
        %tmp67 = fpext float %tmp6 to double            ; <double> [#uses=1]
 
43
        %tmp8 = getelementptr %struct..1anon* %ud, i32 0, i32 0         ; <double*> [#uses=1]
 
44
        store double %tmp67, double* %tmp8, align 8
 
45
        %tmp9 = getelementptr %struct..1anon* %ud, i32 0, i32 0         ; <double*> [#uses=1]
 
46
        %tmp910 = bitcast double* %tmp9 to i64*         ; <i64*> [#uses=1]
 
47
        %tmp11 = load i64* %tmp910, align 8             ; <i64> [#uses=1]
 
48
        %tmp1112 = trunc i64 %tmp11 to i32              ; <i32> [#uses=1]
 
49
        %tmp13 = and i32 %tmp1112, -1           ; <i32> [#uses=1]
 
50
        %tmp14 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
51
        %tmp1415 = bitcast double* %tmp14 to i64*               ; <i64*> [#uses=1]
 
52
        %tmp16 = load i64* %tmp1415, align 8            ; <i64> [#uses=1]
 
53
        %.cast = zext i32 32 to i64             ; <i64> [#uses=1]
 
54
        %tmp17 = ashr i64 %tmp16, %.cast                ; <i64> [#uses=1]
 
55
        %tmp1718 = trunc i64 %tmp17 to i32              ; <i32> [#uses=1]
 
56
        %tmp19 = getelementptr [10 x i8]* @.str, i32 0, i32 0           ; <i8*> [#uses=1]
 
57
        volatile store i32 %tmp1718, i32* @var
 
58
        volatile store i32 %tmp13, i32* @var
 
59
        %tmp21 = load i32* %i, align 4          ; <i32> [#uses=1]
 
60
        %tmp22 = add i32 %tmp21, 1              ; <i32> [#uses=1]
 
61
        store i32 %tmp22, i32* %i, align 4
 
62
        br label %bb23
 
63
 
 
64
bb23:           ; preds = %bb, %entry
 
65
        %tmp24 = load i32* %i, align 4          ; <i32> [#uses=1]
 
66
        %tmp25 = icmp sle i32 %tmp24, 2         ; <i1> [#uses=1]
 
67
        %tmp2526 = zext i1 %tmp25 to i8         ; <i8> [#uses=1]
 
68
        %toBool = icmp ne i8 %tmp2526, 0                ; <i1> [#uses=1]
 
69
        br i1 %toBool, label %bb, label %bb27
 
70
 
 
71
bb27:           ; preds = %bb23
 
72
        store i32 0, i32* %i, align 4
 
73
        br label %bb46
 
74
 
 
75
bb28:           ; preds = %bb46
 
76
        %tmp29 = load i32* %i, align 4          ; <i32> [#uses=1]
 
77
        %tmp30 = getelementptr [3 x i64]* @dnan, i32 0, i32 %tmp29              ; <i64*> [#uses=1]
 
78
        %tmp31 = load i64* %tmp30, align 8              ; <i64> [#uses=1]
 
79
        %tmp32 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
80
        %tmp3233 = bitcast double* %tmp32 to i64*               ; <i64*> [#uses=1]
 
81
        store i64 %tmp31, i64* %tmp3233, align 8
 
82
        %tmp35 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
83
        %tmp36 = load double* %tmp35, align 8           ; <double> [#uses=1]
 
84
        %tmp3637 = fptrunc double %tmp36 to float               ; <float> [#uses=1]
 
85
        %tmp38 = getelementptr %struct..0anon* %uf, i32 0, i32 0                ; <float*> [#uses=1]
 
86
        store float %tmp3637, float* %tmp38, align 4
 
87
        %tmp39 = getelementptr %struct..0anon* %uf, i32 0, i32 0                ; <float*> [#uses=1]
 
88
        %tmp3940 = bitcast float* %tmp39 to i32*                ; <i32*> [#uses=1]
 
89
        %tmp41 = load i32* %tmp3940, align 4            ; <i32> [#uses=1]
 
90
        %tmp42 = getelementptr [6 x i8]* @.str1, i32 0, i32 0           ; <i8*> [#uses=1]
 
91
        volatile store i32 %tmp41, i32* @var
 
92
        %tmp44 = load i32* %i, align 4          ; <i32> [#uses=1]
 
93
        %tmp45 = add i32 %tmp44, 1              ; <i32> [#uses=1]
 
94
        store i32 %tmp45, i32* %i, align 4
 
95
        br label %bb46
 
96
 
 
97
bb46:           ; preds = %bb28, %bb27
 
98
        %tmp47 = load i32* %i, align 4          ; <i32> [#uses=1]
 
99
        %tmp48 = icmp sle i32 %tmp47, 2         ; <i1> [#uses=1]
 
100
        %tmp4849 = zext i1 %tmp48 to i8         ; <i8> [#uses=1]
 
101
        %toBool50 = icmp ne i8 %tmp4849, 0              ; <i1> [#uses=1]
 
102
        br i1 %toBool50, label %bb28, label %bb51
 
103
 
 
104
bb51:           ; preds = %bb46
 
105
        store i32 0, i32* %i, align 4
 
106
        br label %bb78
 
107
 
 
108
bb52:           ; preds = %bb78
 
109
        %tmp53 = load i32* %i, align 4          ; <i32> [#uses=1]
 
110
        %tmp54 = getelementptr [3 x i32]* @fsnan, i32 0, i32 %tmp53             ; <i32*> [#uses=1]
 
111
        %tmp55 = load i32* %tmp54, align 4              ; <i32> [#uses=1]
 
112
        %tmp56 = getelementptr %struct..0anon* %uf, i32 0, i32 0                ; <float*> [#uses=1]
 
113
        %tmp5657 = bitcast float* %tmp56 to i32*                ; <i32*> [#uses=1]
 
114
        store i32 %tmp55, i32* %tmp5657, align 4
 
115
        %tmp58 = getelementptr %struct..0anon* %uf, i32 0, i32 0                ; <float*> [#uses=1]
 
116
        %tmp59 = load float* %tmp58, align 4            ; <float> [#uses=1]
 
117
        %tmp5960 = fpext float %tmp59 to double         ; <double> [#uses=1]
 
118
        %tmp61 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
119
        store double %tmp5960, double* %tmp61, align 8
 
120
        %tmp62 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
121
        %tmp6263 = bitcast double* %tmp62 to i64*               ; <i64*> [#uses=1]
 
122
        %tmp64 = load i64* %tmp6263, align 8            ; <i64> [#uses=1]
 
123
        %tmp6465 = trunc i64 %tmp64 to i32              ; <i32> [#uses=1]
 
124
        %tmp66 = and i32 %tmp6465, -1           ; <i32> [#uses=1]
 
125
        %tmp68 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
126
        %tmp6869 = bitcast double* %tmp68 to i64*               ; <i64*> [#uses=1]
 
127
        %tmp70 = load i64* %tmp6869, align 8            ; <i64> [#uses=1]
 
128
        %.cast71 = zext i32 32 to i64           ; <i64> [#uses=1]
 
129
        %tmp72 = ashr i64 %tmp70, %.cast71              ; <i64> [#uses=1]
 
130
        %tmp7273 = trunc i64 %tmp72 to i32              ; <i32> [#uses=1]
 
131
        %tmp74 = getelementptr [10 x i8]* @.str, i32 0, i32 0           ; <i8*> [#uses=1]
 
132
        volatile store i32 %tmp7273, i32* @var
 
133
        volatile store i32 %tmp66, i32* @var
 
134
        %tmp76 = load i32* %i, align 4          ; <i32> [#uses=1]
 
135
        %tmp77 = add i32 %tmp76, 1              ; <i32> [#uses=1]
 
136
        store i32 %tmp77, i32* %i, align 4
 
137
        br label %bb78
 
138
 
 
139
bb78:           ; preds = %bb52, %bb51
 
140
        %tmp79 = load i32* %i, align 4          ; <i32> [#uses=1]
 
141
        %tmp80 = icmp sle i32 %tmp79, 2         ; <i1> [#uses=1]
 
142
        %tmp8081 = zext i1 %tmp80 to i8         ; <i8> [#uses=1]
 
143
        %toBool82 = icmp ne i8 %tmp8081, 0              ; <i1> [#uses=1]
 
144
        br i1 %toBool82, label %bb52, label %bb83
 
145
 
 
146
bb83:           ; preds = %bb78
 
147
        store i32 0, i32* %i, align 4
 
148
        br label %bb101
 
149
 
 
150
bb84:           ; preds = %bb101
 
151
        %tmp85 = load i32* %i, align 4          ; <i32> [#uses=1]
 
152
        %tmp86 = getelementptr [3 x i64]* @dsnan, i32 0, i32 %tmp85             ; <i64*> [#uses=1]
 
153
        %tmp87 = load i64* %tmp86, align 8              ; <i64> [#uses=1]
 
154
        %tmp88 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
155
        %tmp8889 = bitcast double* %tmp88 to i64*               ; <i64*> [#uses=1]
 
156
        store i64 %tmp87, i64* %tmp8889, align 8
 
157
        %tmp90 = getelementptr %struct..1anon* %ud, i32 0, i32 0                ; <double*> [#uses=1]
 
158
        %tmp91 = load double* %tmp90, align 8           ; <double> [#uses=1]
 
159
        %tmp9192 = fptrunc double %tmp91 to float               ; <float> [#uses=1]
 
160
        %tmp93 = getelementptr %struct..0anon* %uf, i32 0, i32 0                ; <float*> [#uses=1]
 
161
        store float %tmp9192, float* %tmp93, align 4
 
162
        %tmp94 = getelementptr %struct..0anon* %uf, i32 0, i32 0                ; <float*> [#uses=1]
 
163
        %tmp9495 = bitcast float* %tmp94 to i32*                ; <i32*> [#uses=1]
 
164
        %tmp96 = load i32* %tmp9495, align 4            ; <i32> [#uses=1]
 
165
        %tmp97 = getelementptr [6 x i8]* @.str1, i32 0, i32 0           ; <i8*> [#uses=1]
 
166
        volatile store i32 %tmp96, i32* @var
 
167
        %tmp99 = load i32* %i, align 4          ; <i32> [#uses=1]
 
168
        %tmp100 = add i32 %tmp99, 1             ; <i32> [#uses=1]
 
169
        store i32 %tmp100, i32* %i, align 4
 
170
        br label %bb101
 
171
 
 
172
bb101:          ; preds = %bb84, %bb83
 
173
        %tmp102 = load i32* %i, align 4         ; <i32> [#uses=1]
 
174
        %tmp103 = icmp sle i32 %tmp102, 2               ; <i1> [#uses=1]
 
175
        %tmp103104 = zext i1 %tmp103 to i8              ; <i8> [#uses=1]
 
176
        %toBool105 = icmp ne i8 %tmp103104, 0           ; <i1> [#uses=1]
 
177
        br i1 %toBool105, label %bb84, label %bb106
 
178
 
 
179
bb106:          ; preds = %bb101
 
180
        br label %return
 
181
 
 
182
return:         ; preds = %bb106
 
183
        %retval107 = load i32* %retval          ; <i32> [#uses=1]
 
184
        ret i32 %retval107
 
185
}