~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s
 
2
 
 
3
define i32 @f1(i32 %a, i32 %b) {
 
4
    %tmp = xor i32 %b, 4294967295
 
5
    %tmp1 = or i32 %a, %tmp
 
6
    ret i32 %tmp1
 
7
}
 
8
; CHECK-LABEL: f1:
 
9
; CHECK:        orn     r0, r0, r1
 
10
 
 
11
define i32 @f2(i32 %a, i32 %b) {
 
12
    %tmp = xor i32 %b, 4294967295
 
13
    %tmp1 = or i32 %tmp, %a
 
14
    ret i32 %tmp1
 
15
}
 
16
; CHECK-LABEL: f2:
 
17
; CHECK:        orn     r0, r0, r1
 
18
 
 
19
define i32 @f3(i32 %a, i32 %b) {
 
20
    %tmp = xor i32 4294967295, %b
 
21
    %tmp1 = or i32 %a, %tmp
 
22
    ret i32 %tmp1
 
23
}
 
24
; CHECK-LABEL: f3:
 
25
; CHECK:        orn     r0, r0, r1
 
26
 
 
27
define i32 @f4(i32 %a, i32 %b) {
 
28
    %tmp = xor i32 4294967295, %b
 
29
    %tmp1 = or i32 %tmp, %a
 
30
    ret i32 %tmp1
 
31
}
 
32
; CHECK-LABEL: f4:
 
33
; CHECK:        orn     r0, r0, r1
 
34
 
 
35
define i32 @f5(i32 %a, i32 %b) {
 
36
    %tmp = shl i32 %b, 5
 
37
    %tmp1 = xor i32 4294967295, %tmp
 
38
    %tmp2 = or i32 %a, %tmp1
 
39
    ret i32 %tmp2
 
40
}
 
41
; CHECK-LABEL: f5:
 
42
; CHECK:        orn     r0, r0, r1, lsl #5
 
43
 
 
44
define i32 @f6(i32 %a, i32 %b) {
 
45
    %tmp = lshr i32 %b, 6
 
46
    %tmp1 = xor i32 4294967295, %tmp
 
47
    %tmp2 = or i32 %a, %tmp1
 
48
    ret i32 %tmp2
 
49
}
 
50
; CHECK-LABEL: f6:
 
51
; CHECK:        orn     r0, r0, r1, lsr #6
 
52
 
 
53
define i32 @f7(i32 %a, i32 %b) {
 
54
    %tmp = ashr i32 %b, 7
 
55
    %tmp1 = xor i32 4294967295, %tmp
 
56
    %tmp2 = or i32 %a, %tmp1
 
57
    ret i32 %tmp2
 
58
}
 
59
; CHECK-LABEL: f7:
 
60
; CHECK:        orn     r0, r0, r1, asr #7
 
61
 
 
62
define i32 @f8(i32 %a, i32 %b) {
 
63
    %l8 = shl i32 %a, 24
 
64
    %r8 = lshr i32 %a, 8
 
65
    %tmp = or i32 %l8, %r8
 
66
    %tmp1 = xor i32 4294967295, %tmp
 
67
    %tmp2 = or i32 %a, %tmp1
 
68
    ret i32 %tmp2
 
69
}
 
70
; CHECK-LABEL: f8:
 
71
; CHECK:        orn     r0, r0, r0, ror #8