1f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; RUN: llc -march=hexagon --filetype=obj < %s  -o - | llvm-objdump -d - | FileCheck %s
2f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpeq(i32 %i) #0 {
5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpeq(i32 %0, i32 1)
10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.eq(r{{[0-9]}}, r{{[0-9]}})
13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpeq(i32, i32) #1
16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgt(i32 %i) #0 {
19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgt(i32 %0, i32 2)
24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gt(r{{[0-9]}}, r{{[0-9]}})
27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpgt(i32, i32) #1
30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgtu(i32 %i) #0 {
33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgtu(i32 %0, i32 3)
38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gtu(r{{[0-9]}}, r{{[0-9]}})
41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpgtu(i32, i32) #1
44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmplt(i32 %i) #0 {
47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmplt(i32 %0, i32 4)
52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gt(r{{[0-9]}}, r{{[0-9]}})
55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmplt(i32, i32) #1
58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpltu(i32 %i) #0 {
61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpltu(i32 %0, i32 5)
66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gtu(r{{[0-9]}}, r{{[0-9]}})
69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpltu(i32, i32) #1
72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpeqi(i32 %i) #0 {
75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpeqi(i32 %0, i32 10)
80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.eq(r{{[0-9]}}, {{.*}}#10)
83f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
84f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
85f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpeqi(i32, i32) #1
86f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
87f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
88f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgti(i32 %i) #0 {
89f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
90f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
91f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
92f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
93f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgti(i32 %0, i32 20)
94f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
95f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
96f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gt(r{{[0-9]}}, {{.*}}#20)
97f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
98f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
99f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpgti(i32, i32) #1
100f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
101f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
102f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgtui(i32 %i) #0 {
103f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
104f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
105f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
106f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
107f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgtui(i32 %0, i32 40)
108f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
109f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
110f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gtu(r{{[0-9]}}, {{.*}}#40)
111f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
112f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
113f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpgtui(i32, i32) #1
114f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
115f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
116f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgei(i32 %i) #0 {
117f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
118f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
119f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
120f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
121f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgei(i32 %0, i32 3)
122f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
123f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
124f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gt(r{{[0-9]}}, {{.*}}#2)
125f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
126f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
127f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpgei(i32, i32) #1
128f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
129f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
130f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgeu(i32 %i) #0 {
131f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
132f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
133f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
134f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
135f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgeui(i32 %0, i32 3)
136f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
137f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
138f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.gtu(r{{[0-9]}}, {{.*}}#2)
139f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
140f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind readnone
141f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardeclare i32 @llvm.hexagon.C2.cmpgeui(i32, i32) #1
142f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
143f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; Function Attrs: nounwind
144f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainardefine i32 @cmpgeu0(i32 %i) #0 {
145f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarentry:
146f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %i.addr = alloca i32, align 4
147f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  store i32 %i, i32* %i.addr, align 4
148f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %0 = load i32, i32* %i.addr, align 4
149f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  %1 = call i32 @llvm.hexagon.C2.cmpgeui(i32 %0, i32 0)
150f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  ret i32 %1
151f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar}
152f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar; CHECK: { p{{[0-3]}} = cmp.eq(r{{[0-9]}}, r{{[0-9]}})
153f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
154f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
155f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarattributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
156f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainarattributes #1 = { nounwind readnone }
157f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
158f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar!llvm.ident = !{!0}
159f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
160f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar!0 = !{!"Clang 3.1"}
161f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
162