~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/fast-isel.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 -fast-isel -fast-isel-abort -march=x86 -mattr=sse2
 
2
 
 
3
; This tests very minimal fast-isel functionality.
 
4
 
 
5
define i32* @foo(i32* %p, i32* %q, i32** %z) nounwind {
 
6
entry:
 
7
  %r = load i32* %p
 
8
  %s = load i32* %q
 
9
  %y = load i32** %z
 
10
  br label %fast
 
11
 
 
12
fast:
 
13
  %t0 = add i32 %r, %s
 
14
  %t1 = mul i32 %t0, %s
 
15
  %t2 = sub i32 %t1, %s
 
16
  %t3 = and i32 %t2, %s
 
17
  %t4 = xor i32 %t3, 3
 
18
  %t5 = xor i32 %t4, %s
 
19
  %t6 = add i32 %t5, 2
 
20
  %t7 = getelementptr i32* %y, i32 1
 
21
  %t8 = getelementptr i32* %t7, i32 %t6
 
22
  br label %exit
 
23
 
 
24
exit:
 
25
  ret i32* %t8
 
26
}
 
27
 
 
28
define double @bar(double* %p, double* %q) nounwind {
 
29
entry:
 
30
  %r = load double* %p
 
31
  %s = load double* %q
 
32
  br label %fast
 
33
 
 
34
fast:
 
35
  %t0 = fadd double %r, %s
 
36
  %t1 = fmul double %t0, %s
 
37
  %t2 = fsub double %t1, %s
 
38
  %t3 = fadd double %t2, 707.0
 
39
  br label %exit
 
40
 
 
41
exit:
 
42
  ret double %t3
 
43
}
 
44
 
 
45
define i32 @cast() nounwind {
 
46
entry:
 
47
        %tmp2 = bitcast i32 0 to i32
 
48
        ret i32 %tmp2
 
49
}
 
50
 
 
51
define i1 @ptrtoint_i1(i8* %p) nounwind {
 
52
  %t = ptrtoint i8* %p to i1
 
53
  ret i1 %t
 
54
}
 
55
define i8* @inttoptr_i1(i1 %p) nounwind {
 
56
  %t = inttoptr i1 %p to i8*
 
57
  ret i8* %t
 
58
}
 
59
define i32 @ptrtoint_i32(i8* %p) nounwind {
 
60
  %t = ptrtoint i8* %p to i32
 
61
  ret i32 %t
 
62
}
 
63
define i8* @inttoptr_i32(i32 %p) nounwind {
 
64
  %t = inttoptr i32 %p to i8*
 
65
  ret i8* %t
 
66
}
 
67
 
 
68
define void @store_i1(i1* %p, i1 %t) nounwind {
 
69
  store i1 %t, i1* %p
 
70
  ret void
 
71
}
 
72
define i1 @load_i1(i1* %p) nounwind {
 
73
  %t = load i1* %p
 
74
  ret i1 %t
 
75
}