diff --git a/clang/lib/Headers/hlsl/hlsl_intrinsics.h b/clang/lib/Headers/hlsl/hlsl_intrinsics.h index a538be5ebd099..e8cda388b4ff4 100644 --- a/clang/lib/Headers/hlsl/hlsl_intrinsics.h +++ b/clang/lib/Headers/hlsl/hlsl_intrinsics.h @@ -667,7 +667,9 @@ smoothstep(__detail::HLSL_FIXED_VECTOR Min, } inline bool CheckAccessFullyMapped(uint Status) { - return static_cast(Status); + // The bool cast should only apply to the LSB. + uint TruncStatus = Status % 2; + return static_cast(TruncStatus); } //===----------------------------------------------------------------------===//