~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/CodeGen/Hexagon/cmp_pred.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 -march=hexagon -mcpu=hexagonv5  < %s | FileCheck %s
 
2
; Generate various cmpb instruction followed by if (p0) .. if (!p0)...
 
3
target triple = "hexagon"
 
4
 
 
5
define i32 @Func_3Ugt(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
6
entry:
 
7
; CHECK-NOT: mux
 
8
  %cmp = icmp ugt i32 %Enum_Par_Val, %pv2
 
9
  %selv = zext i1 %cmp to i32
 
10
  ret i32 %selv
 
11
}
 
12
 
 
13
define i32 @Func_3Uge(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
14
entry:
 
15
; CHECK-NOT: mux
 
16
  %cmp = icmp uge i32 %Enum_Par_Val, %pv2
 
17
  %selv = zext i1 %cmp to i32
 
18
  ret i32 %selv
 
19
}
 
20
 
 
21
define i32 @Func_3Ult(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
22
entry:
 
23
; CHECK-NOT: mux
 
24
  %cmp = icmp ult i32 %Enum_Par_Val, %pv2
 
25
  %selv = zext i1 %cmp to i32
 
26
  ret i32 %selv
 
27
}
 
28
 
 
29
define i32 @Func_3Ule(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
30
entry:
 
31
; CHECK-NOT: mux
 
32
  %cmp = icmp ule i32 %Enum_Par_Val, %pv2
 
33
  %selv = zext i1 %cmp to i32
 
34
  ret i32 %selv
 
35
}
 
36
 
 
37
define i32 @Func_3Ueq(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
38
entry:
 
39
; CHECK-NOT: mux
 
40
  %cmp = icmp eq i32 %Enum_Par_Val, %pv2
 
41
  %selv = zext i1 %cmp to i32
 
42
  ret i32 %selv
 
43
}
 
44
 
 
45
define i32 @Func_3Une(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
46
entry:
 
47
; CHECK-NOT: mux
 
48
  %cmp = icmp ne i32 %Enum_Par_Val, %pv2
 
49
  %selv = zext i1 %cmp to i32
 
50
  ret i32 %selv
 
51
}
 
52
 
 
53
define i32 @Func_3UneC(i32 %Enum_Par_Val) nounwind readnone {
 
54
entry:
 
55
; CHECK-NOT: mux
 
56
  %cmp = icmp ne i32 %Enum_Par_Val, 122
 
57
  %selv = zext i1 %cmp to i32
 
58
  ret i32 %selv
 
59
}
 
60
 
 
61
define i32 @Func_3gt(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
62
entry:
 
63
; CHECK-NOT: mux
 
64
  %cmp = icmp sgt i32 %Enum_Par_Val, %pv2
 
65
  %selv = zext i1 %cmp to i32
 
66
  ret i32 %selv
 
67
}
 
68
 
 
69
define i32 @Func_3ge(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
70
entry:
 
71
; CHECK-NOT: mux
 
72
  %cmp = icmp sge i32 %Enum_Par_Val, %pv2
 
73
  %selv = zext i1 %cmp to i32
 
74
  ret i32 %selv
 
75
}
 
76
 
 
77
define i32 @Func_3lt(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
78
entry:
 
79
; CHECK-NOT: mux
 
80
  %cmp = icmp slt i32 %Enum_Par_Val, %pv2
 
81
  %selv = zext i1 %cmp to i32
 
82
  ret i32 %selv
 
83
}
 
84
 
 
85
define i32 @Func_3le(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
86
entry:
 
87
; CHECK-NOT: mux
 
88
  %cmp = icmp sle i32 %Enum_Par_Val, %pv2
 
89
  %selv = zext i1 %cmp to i32
 
90
  ret i32 %selv
 
91
}
 
92
 
 
93
define i32 @Func_3eq(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
94
entry:
 
95
; CHECK-NOT: mux
 
96
  %cmp = icmp eq i32 %Enum_Par_Val, %pv2
 
97
  %selv = zext i1 %cmp to i32
 
98
  ret i32 %selv
 
99
}
 
100
 
 
101
define i32 @Func_3ne(i32 %Enum_Par_Val, i32 %pv2) nounwind readnone {
 
102
entry:
 
103
; CHECK-NOT: mux
 
104
  %cmp = icmp ne i32 %Enum_Par_Val, %pv2
 
105
  %selv = zext i1 %cmp to i32
 
106
  ret i32 %selv
 
107
}
 
108
 
 
109
define i32 @Func_3neC(i32 %Enum_Par_Val) nounwind readnone {
 
110
entry:
 
111
; CHECK-NOT: mux
 
112
  %cmp = icmp ne i32 %Enum_Par_Val, 122
 
113
  %selv = zext i1 %cmp to i32
 
114
  ret i32 %selv
 
115
}