diff options
-rw-r--r-- | src/jit/lsraxarch.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jit/lsraxarch.cpp b/src/jit/lsraxarch.cpp index 296d558fba..17b637898c 100644 --- a/src/jit/lsraxarch.cpp +++ b/src/jit/lsraxarch.cpp @@ -754,7 +754,9 @@ void LinearScan::BuildCheckByteable(GenTree* tree) if (tree->OperIsSimple()) { GenTree* op = tree->gtOp.gtOp1; - if (op != nullptr) + // We need byte registers on the operands of most simple operators that produce a byte result. + // However, indirections are simple operators but do not require their address in a byte register. + if ((op != nullptr) && !tree->OperIsIndir()) { // No need to set src candidates on a contained child operand. if (!op->isContained()) |