~ubuntu-branches/ubuntu/maverick/clamav/maverick-backports

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/xor-icmp.ll

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Gran, Stephen Gran, Michael Tautschnig
  • Date: 2010-04-26 21:41:18 UTC
  • mfrom: (2.1.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100426214118-i6lo606wnh7ywfj6
Tags: 0.96+dfsg-4
[ Stephen Gran ]
* Fixed typo in clamav-milter's postinst

[ Michael Tautschnig ]
* Fixed typo in clamav-freshclam's postinst (closes: #579271)
* Debconf translation updates
  - Portuguese (closes: #579068)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s -march=x86    | FileCheck %s -check-prefix=X32
 
2
; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=X64
 
3
; rdar://7367229
 
4
 
 
5
define i32 @t(i32 %a, i32 %b) nounwind ssp {
 
6
entry:
 
7
; X32:     t:
 
8
; X32:     xorb
 
9
; X32-NOT: andb
 
10
; X32-NOT: shrb
 
11
; X32:     testb $64
 
12
; X32:     jne
 
13
 
 
14
; X64:     t:
 
15
; X64-NOT: setne
 
16
; X64:     xorl
 
17
; X64:     testb $64
 
18
; X64:     jne
 
19
  %0 = and i32 %a, 16384
 
20
  %1 = icmp ne i32 %0, 0
 
21
  %2 = and i32 %b, 16384
 
22
  %3 = icmp ne i32 %2, 0
 
23
  %4 = xor i1 %1, %3
 
24
  br i1 %4, label %bb1, label %bb
 
25
 
 
26
bb:                                               ; preds = %entry
 
27
  %5 = tail call i32 (...)* @foo() nounwind       ; <i32> [#uses=1]
 
28
  ret i32 %5
 
29
 
 
30
bb1:                                              ; preds = %entry
 
31
  %6 = tail call i32 (...)* @bar() nounwind       ; <i32> [#uses=1]
 
32
  ret i32 %6
 
33
}
 
34
 
 
35
declare i32 @foo(...)
 
36
 
 
37
declare i32 @bar(...)
 
38
 
 
39
define i32 @t2(i32 %x, i32 %y) nounwind ssp {
 
40
; X32: t2:
 
41
; X32: cmpl
 
42
; X32: sete
 
43
; X32: cmpl
 
44
; X32: sete
 
45
; X32-NOT: xor
 
46
; X32: je
 
47
 
 
48
; X64: t2:
 
49
; X64: testl
 
50
; X64: sete
 
51
; X64: testl
 
52
; X64: sete
 
53
; X64-NOT: xor
 
54
; X64: je
 
55
entry:
 
56
  %0 = icmp eq i32 %x, 0                          ; <i1> [#uses=1]
 
57
  %1 = icmp eq i32 %y, 0                          ; <i1> [#uses=1]
 
58
  %2 = xor i1 %1, %0                              ; <i1> [#uses=1]
 
59
  br i1 %2, label %bb, label %return
 
60
 
 
61
bb:                                               ; preds = %entry
 
62
  %3 = tail call i32 (...)* @foo() nounwind       ; <i32> [#uses=0]
 
63
  ret i32 undef
 
64
 
 
65
return:                                           ; preds = %entry
 
66
  ret i32 undef
 
67
}