Skip to content

Commit 24d41c1

Browse files
authored
[clang][bytecode] VisitBuiltinCallExpr - remove urem() call in rotate builtins, call rotl/rotr directly (#162113)
Fixes #162046
1 parent 91a3cd7 commit 24d41c1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

clang/lib/AST/ExprConstant.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14356,7 +14356,7 @@ bool IntExprEvaluator::VisitBuiltinCallExpr(const CallExpr *E,
1435614356
!EvaluateInteger(E->getArg(1), Amt, Info))
1435714357
return false;
1435814358

14359-
return Success(Val.rotl(Amt.urem(Val.getBitWidth())), E);
14359+
return Success(Val.rotl(Amt), E);
1436014360
}
1436114361

1436214362
case Builtin::BI__builtin_rotateright8:
@@ -14373,7 +14373,7 @@ bool IntExprEvaluator::VisitBuiltinCallExpr(const CallExpr *E,
1437314373
!EvaluateInteger(E->getArg(1), Amt, Info))
1437414374
return false;
1437514375

14376-
return Success(Val.rotr(Amt.urem(Val.getBitWidth())), E);
14376+
return Success(Val.rotr(Amt), E);
1437714377
}
1437814378

1437914379
case Builtin::BI__builtin_elementwise_add_sat: {

0 commit comments

Comments
 (0)