~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/x86-64-and-mask.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 | FileCheck %s
 
2
 
 
3
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
 
4
target triple = "x86_64-apple-darwin8"
 
5
 
 
6
; This should be a single mov, not a load of immediate + andq.
 
7
; CHECK: test:
 
8
; CHECK: movl %edi, %eax
 
9
 
 
10
define i64 @test(i64 %x) nounwind {
 
11
entry:
 
12
        %tmp123 = and i64 %x, 4294967295                ; <i64> [#uses=1]
 
13
        ret i64 %tmp123
 
14
}
 
15
 
 
16
; This copy can't be coalesced away because it needs the implicit zero-extend.
 
17
; CHECK: bbb:
 
18
; CHECK: movl %edi, %edi
 
19
 
 
20
define void @bbb(i64 %x) nounwind {
 
21
  %t = and i64 %x, 4294967295
 
22
  call void @foo(i64 %t)
 
23
  ret void
 
24
}
 
25
 
 
26
; This should use a 32-bit and with implicit zero-extension, not a 64-bit and
 
27
; with a separate mov to materialize the mask.
 
28
; rdar://7527390
 
29
; CHECK: ccc:
 
30
; CHECK: andl $-1048593, %edi
 
31
 
 
32
declare void @foo(i64 %x) nounwind
 
33
 
 
34
define void @ccc(i64 %x) nounwind {
 
35
  %t = and i64 %x, 4293918703
 
36
  call void @foo(i64 %t)
 
37
  ret void
 
38
}
 
39
 
 
40
; This requires a mov and a 64-bit and.
 
41
; CHECK: ddd:
 
42
; CHECK: movabsq $4294967296, %rax
 
43
; CHECK: andq %rax, %rdi
 
44
 
 
45
define void @ddd(i64 %x) nounwind {
 
46
  %t = and i64 %x, 4294967296
 
47
  call void @foo(i64 %t)
 
48
  ret void
 
49
}