================ @@ -325,6 +325,16 @@ def Abs : DXILOp<6, unary> { let attributes = [Attributes<DXIL1_0, [ReadNone]>]; } +def Saturate : DXILOp<7, unary> { + let Doc = "Clamps a single or double precision floating point value to [0.0f...1.0f]."; + let LLVMIntrinsic = int_dx_saturate; + let arguments = [overloadTy]; + let result = overloadTy; + let overloads = [Overloads<DXIL1_0, [halfTy, floatTy, doubleTy]>]; ---------------- farzonl wrote:
I was a little suprised by `double` but yeah dxc generate `double @dx.op.unary.f64(i32 7, double %5)` https://github.com/llvm/llvm-project/pull/104619 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits