~ubuntu-branches/ubuntu/quantal/llvm-3.1/quantal

« back to all changes in this revision

Viewing changes to test/CodeGen/Thumb2/thumb2-eor.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2012-03-29 19:09:51 UTC
  • Revision ID: package-import@ubuntu.com-20120329190951-aq83ivog4cg8bxun
Tags: upstream-3.1~svn153643
ImportĀ upstreamĀ versionĀ 3.1~svn153643

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s -march=thumb -mattr=+thumb2 | FileCheck %s
 
2
 
 
3
define i32 @f1(i32 %a, i32 %b) {
 
4
; CHECK: f1:
 
5
; CHECK: eors r0, r1
 
6
    %tmp = xor i32 %a, %b
 
7
    ret i32 %tmp
 
8
}
 
9
 
 
10
define i32 @f2(i32 %a, i32 %b) {
 
11
; CHECK: f2:
 
12
; CHECK: eors r0, r1
 
13
    %tmp = xor i32 %b, %a
 
14
    ret i32 %tmp
 
15
}
 
16
 
 
17
define i32 @f2b(i32 %a, i32 %b, i32 %c) {
 
18
; CHECK: f2b:
 
19
; CHECK: eor.w r0, r1, r2
 
20
    %tmp = xor i32 %b, %c
 
21
    ret i32 %tmp
 
22
}
 
23
 
 
24
define i32 @f3(i32 %a, i32 %b) {
 
25
; CHECK: f3:
 
26
; CHECK: eor.w r0, r0, r1, lsl #5
 
27
    %tmp = shl i32 %b, 5
 
28
    %tmp1 = xor i32 %a, %tmp
 
29
    ret i32 %tmp1
 
30
}
 
31
 
 
32
define i32 @f4(i32 %a, i32 %b) {
 
33
; CHECK: f4:
 
34
; CHECK: eor.w r0, r0, r1, lsr #6
 
35
    %tmp = lshr i32 %b, 6
 
36
    %tmp1 = xor i32 %tmp, %a
 
37
    ret i32 %tmp1
 
38
}
 
39
 
 
40
define i32 @f5(i32 %a, i32 %b) {
 
41
; CHECK: f5:
 
42
; CHECK: eor.w r0, r0, r1, asr #7
 
43
    %tmp = ashr i32 %b, 7
 
44
    %tmp1 = xor i32 %a, %tmp
 
45
    ret i32 %tmp1
 
46
}
 
47
 
 
48
define i32 @f6(i32 %a, i32 %b) {
 
49
; CHECK: f6:
 
50
; CHECK: eor.w r0, r0, r0, ror #8
 
51
    %l8 = shl i32 %a, 24
 
52
    %r8 = lshr i32 %a, 8
 
53
    %tmp = or i32 %l8, %r8
 
54
    %tmp1 = xor i32 %tmp, %a
 
55
    ret i32 %tmp1
 
56
}