1 target 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" 2 target triple = "armv7-none-linux-gnueabi" 3 4 5 define 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 13 define 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 21 define 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 29 define 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 37 define 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 45 define 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 53 define 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 61