~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/2008-09-18-inline-asm-2.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 "#%ebp %esi %edi 8(%edx) %eax (%ebx)"
 
2
; RUN: llc < %s -march=x86 -regalloc=local | grep "#%edi %ebp %edx 8(%ebx) %eax (%esi)"
 
3
; The 1st, 2nd, 3rd and 5th registers above must all be different.  The registers
 
4
; referenced in the 4th and 6th operands must not be the same as the 1st or 5th
 
5
; operand.  There are many combinations that work; this is what llc puts out now.
 
6
; ModuleID = '<stdin>'
 
7
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"
 
8
target triple = "i386-apple-darwin8"
 
9
        %struct.foo = type { i32, i32, i8* }
 
10
 
 
11
define i32 @get(%struct.foo* %c, i8* %state) nounwind {
 
12
entry:
 
13
        %0 = getelementptr %struct.foo* %c, i32 0, i32 0                ; <i32*> [#uses=2]
 
14
        %1 = getelementptr %struct.foo* %c, i32 0, i32 1                ; <i32*> [#uses=2]
 
15
        %2 = getelementptr %struct.foo* %c, i32 0, i32 2                ; <i8**> [#uses=2]
 
16
        %3 = load i32* %0, align 4              ; <i32> [#uses=1]
 
17
        %4 = load i32* %1, align 4              ; <i32> [#uses=1]
 
18
        %5 = load i8* %state, align 1           ; <i8> [#uses=1]
 
19
        %asmtmp = tail call { i32, i32, i32, i32 } asm sideeffect "#$0 $1 $2 $3 $4 $5", "=&r,=r,=r,=*m,=&q,=*imr,1,2,*m,5,~{dirflag},~{fpsr},~{flags},~{cx}"(i8** %2, i8* %state, i32 %3, i32 %4, i8** %2, i8 %5) nounwind              ; <{ i32, i32, i32, i32 }> [#uses=3]
 
20
        %asmresult = extractvalue { i32, i32, i32, i32 } %asmtmp, 0             ; <i32> [#uses=1]
 
21
        %asmresult1 = extractvalue { i32, i32, i32, i32 } %asmtmp, 1            ; <i32> [#uses=1]
 
22
        store i32 %asmresult1, i32* %0
 
23
        %asmresult2 = extractvalue { i32, i32, i32, i32 } %asmtmp, 2            ; <i32> [#uses=1]
 
24
        store i32 %asmresult2, i32* %1
 
25
        ret i32 %asmresult
 
26
}