~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/fp-stack-2results.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 | grep fldz
 
2
; RUN: llc < %s -march=x86-64 | grep fld1
 
3
 
 
4
; This is basically this code on x86-64:
 
5
; _Complex long double test() { return 1.0; }
 
6
define {x86_fp80, x86_fp80} @test() {
 
7
  %A = fpext double 1.0 to x86_fp80
 
8
  %B = fpext double 0.0 to x86_fp80
 
9
  ret x86_fp80 %A, x86_fp80 %B
 
10
}
 
11
 
 
12
 
 
13
;_test2:
 
14
;       fld1
 
15
;       fld     %st(0)
 
16
;       ret
 
17
define {x86_fp80, x86_fp80} @test2() {
 
18
  %A = fpext double 1.0 to x86_fp80
 
19
  ret x86_fp80 %A, x86_fp80 %A
 
20
}
 
21
 
 
22
; Uses both values.
 
23
define void @call1(x86_fp80 *%P1, x86_fp80 *%P2) {
 
24
  %a = call {x86_fp80,x86_fp80} @test()
 
25
  %b = getresult {x86_fp80,x86_fp80} %a, 0
 
26
  store x86_fp80 %b, x86_fp80* %P1
 
27
 
 
28
  %c = getresult {x86_fp80,x86_fp80} %a, 1
 
29
  store x86_fp80 %c, x86_fp80* %P2
 
30
  ret void 
 
31
}
 
32
 
 
33
; Uses both values, requires fxch
 
34
define void @call2(x86_fp80 *%P1, x86_fp80 *%P2) {
 
35
  %a = call {x86_fp80,x86_fp80} @test()
 
36
  %b = getresult {x86_fp80,x86_fp80} %a, 1
 
37
  store x86_fp80 %b, x86_fp80* %P1
 
38
 
 
39
  %c = getresult {x86_fp80,x86_fp80} %a, 0
 
40
  store x86_fp80 %c, x86_fp80* %P2
 
41
  ret void
 
42
}
 
43
 
 
44
; Uses ST(0), ST(1) is dead but must be popped.
 
45
define void @call3(x86_fp80 *%P1, x86_fp80 *%P2) {
 
46
  %a = call {x86_fp80,x86_fp80} @test()
 
47
  %b = getresult {x86_fp80,x86_fp80} %a, 0
 
48
  store x86_fp80 %b, x86_fp80* %P1
 
49
  ret void 
 
50
}
 
51
 
 
52
; Uses ST(1), ST(0) is dead and must be popped.
 
53
define void @call4(x86_fp80 *%P1, x86_fp80 *%P2) {
 
54
  %a = call {x86_fp80,x86_fp80} @test()
 
55
 
 
56
  %c = getresult {x86_fp80,x86_fp80} %a, 1
 
57
  store x86_fp80 %c, x86_fp80* %P2
 
58
  ret void 
 
59
}
 
60