[clang][bytecode] VisitBuiltinCallExpr - remove urem() call in rotate builtins, call rotl/rotr directly (#162113)

Fixes #162046
This commit is contained in:
rdez13
2025-10-06 15:42:45 -04:00
committed by GitHub
parent 91a3cd7fc9
commit 24d41c1a7d

View File

@@ -14356,7 +14356,7 @@ bool IntExprEvaluator::VisitBuiltinCallExpr(const CallExpr *E,
!EvaluateInteger(E->getArg(1), Amt, Info))
return false;
return Success(Val.rotl(Amt.urem(Val.getBitWidth())), E);
return Success(Val.rotl(Amt), E);
}
case Builtin::BI__builtin_rotateright8:
@@ -14373,7 +14373,7 @@ bool IntExprEvaluator::VisitBuiltinCallExpr(const CallExpr *E,
!EvaluateInteger(E->getArg(1), Amt, Info))
return false;
return Success(Val.rotr(Amt.urem(Val.getBitWidth())), E);
return Success(Val.rotr(Amt), E);
}
case Builtin::BI__builtin_elementwise_add_sat: {