blob: eba678a086da22e9dc3a9d35dbd039c0efe823c1 [file] [log] [blame]
Stephen Hines5a470202013-05-29 15:36:18 -07001target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S64"
2target triple = "armv7-none-linux-gnueabi"
3
4
5define float @_Z7rsClampfff(float %value, float %low, float %high) nounwind readonly {
6 %1 = fcmp olt float %value, %high
7 %2 = select i1 %1, float %value, float %high
8 %3 = fcmp ogt float %2, %low
9 %4 = select i1 %3, float %2, float %low
10 ret float %4
11}
12
13define signext i8 @_Z7rsClampccc(i8 signext %value, i8 signext %low, i8 signext %high) nounwind readonly {
14 %1 = icmp slt i8 %value, %high
15 %2 = select i1 %1, i8 %value, i8 %high
16 %3 = icmp sgt i8 %2, %low
17 %4 = select i1 %3, i8 %2, i8 %low
18 ret i8 %4
19}
20
21define zeroext i8 @_Z7rsClamphhh(i8 zeroext %value, i8 zeroext %low, i8 zeroext %high) nounwind readonly {
22 %1 = icmp ult i8 %value, %high
23 %2 = select i1 %1, i8 %value, i8 %high
24 %3 = icmp ugt i8 %2, %low
25 %4 = select i1 %3, i8 %2, i8 %low
26 ret i8 %4
27}
28
29define signext i16 @_Z7rsClampsss(i16 signext %value, i16 signext %low, i16 signext %high) nounwind readonly {
30 %1 = icmp slt i16 %value, %high
31 %2 = select i1 %1, i16 %value, i16 %high
32 %3 = icmp sgt i16 %2, %low
33 %4 = select i1 %3, i16 %2, i16 %low
34 ret i16 %4
35}
36
37define zeroext i16 @_Z7rsClampttt(i16 zeroext %value, i16 zeroext %low, i16 zeroext %high) nounwind readonly {
38 %1 = icmp ult i16 %value, %high
39 %2 = select i1 %1, i16 %value, i16 %high
40 %3 = icmp ugt i16 %2, %low
41 %4 = select i1 %3, i16 %2, i16 %low
42 ret i16 %4
43}
44
45define i32 @_Z7rsClampiii(i32 %value, i32 %low, i32 %high) nounwind readonly {
46 %1 = icmp slt i32 %value, %high
47 %2 = select i1 %1, i32 %value, i32 %high
48 %3 = icmp sgt i32 %2, %low
49 %4 = select i1 %3, i32 %2, i32 %low
50 ret i32 %4
51}
52
53define i32 @_Z7rsClampjjj(i32 %value, i32 %low, i32 %high) nounwind readonly {
54 %1 = icmp ult i32 %value, %high
55 %2 = select i1 %1, i32 %value, i32 %high
56 %3 = icmp ugt i32 %2, %low
57 %4 = select i1 %3, i32 %2, i32 %low
58 ret i32 %4
59}
60