The IR pattern is compiled from OpenCL code: __builtin_astype(x > (uchar2)(0) ? x : -x, uchar2); where smax is created by foldSelectInstWithICmp + canonicalizeSPF. smax could also come from direct elementwise max call: int c = b > (int)(0) ? (int)(0) : -b; int d = __builtin_elementwise_max(b, (int)(0)); *a = c | d; https://alive2.llvm.org/ce/z/2-brvr https://alive2.llvm.org/ce/z/Dowjzk https://alive2.llvm.org/ce/z/kathwZ --------- Co-authored-by: Yingwei Zheng <dtcxzyw@qq.com> Co-authored-by: Matt Arsenault <arsenm2@gmail.com>