~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/h-register-addressing-64.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-64 | grep {movzbl    %\[abcd\]h,} | count 7
 
2
 
 
3
; Use h-register extract and zero-extend.
 
4
 
 
5
define double @foo8(double* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
6
  %t0 = lshr i64 %x, 8
 
7
  %t1 = and i64 %t0, 255
 
8
  %t2 = getelementptr double* %p, i64 %t1
 
9
  %t3 = load double* %t2, align 8
 
10
  ret double %t3
 
11
}
 
12
define float @foo4(float* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
13
  %t0 = lshr i64 %x, 8
 
14
  %t1 = and i64 %t0, 255
 
15
  %t2 = getelementptr float* %p, i64 %t1
 
16
  %t3 = load float* %t2, align 8
 
17
  ret float %t3
 
18
}
 
19
define i16 @foo2(i16* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
20
  %t0 = lshr i64 %x, 8
 
21
  %t1 = and i64 %t0, 255
 
22
  %t2 = getelementptr i16* %p, i64 %t1
 
23
  %t3 = load i16* %t2, align 8
 
24
  ret i16 %t3
 
25
}
 
26
define i8 @foo1(i8* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
27
  %t0 = lshr i64 %x, 8
 
28
  %t1 = and i64 %t0, 255
 
29
  %t2 = getelementptr i8* %p, i64 %t1
 
30
  %t3 = load i8* %t2, align 8
 
31
  ret i8 %t3
 
32
}
 
33
define i8 @bar8(i8* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
34
  %t0 = lshr i64 %x, 5
 
35
  %t1 = and i64 %t0, 2040
 
36
  %t2 = getelementptr i8* %p, i64 %t1
 
37
  %t3 = load i8* %t2, align 8
 
38
  ret i8 %t3
 
39
}
 
40
define i8 @bar4(i8* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
41
  %t0 = lshr i64 %x, 6
 
42
  %t1 = and i64 %t0, 1020
 
43
  %t2 = getelementptr i8* %p, i64 %t1
 
44
  %t3 = load i8* %t2, align 8
 
45
  ret i8 %t3
 
46
}
 
47
define i8 @bar2(i8* nocapture inreg %p, i64 inreg %x) nounwind readonly {
 
48
  %t0 = lshr i64 %x, 7
 
49
  %t1 = and i64 %t0, 510
 
50
  %t2 = getelementptr i8* %p, i64 %t1
 
51
  %t3 = load i8* %t2, align 8
 
52
  ret i8 %t3
 
53
}