@@ -5491,9 +5491,7 @@ class StubGenerator: public StubCodeGenerator {
5491
5491
Register stepSrcM2 = doff;
5492
5492
Register stepDst = isURL;
5493
5493
Register size = x29; // t4
5494
- Register minusOne = x30; // t5
5495
5494
5496
- __ mv (minusOne, -1 );
5497
5495
__ mv (size, MaxVectorSize * 2 );
5498
5496
__ mv (stepSrcM1, MaxVectorSize * 4 );
5499
5497
__ slli (stepSrcM2, stepSrcM1, 1 );
@@ -5513,7 +5511,8 @@ class StubGenerator: public StubCodeGenerator {
5513
5511
__ sub (length, length, stepSrcM2);
5514
5512
5515
5513
// error check
5516
- __ bne (failedIdx, minusOne, Exit);
5514
+ // valid value of failedIdx can only be -1 when < 0
5515
+ __ bgez (failedIdx, Exit);
5517
5516
5518
5517
__ bge (length, stepSrcM2, ProcessM2);
5519
5518
@@ -5533,7 +5532,8 @@ class StubGenerator: public StubCodeGenerator {
5533
5532
__ sub (length, length, stepSrcM1);
5534
5533
5535
5534
// error check
5536
- __ bne (failedIdx, minusOne, Exit);
5535
+ // valid value of failedIdx can only be -1 when < 0
5536
+ __ bgez (failedIdx, Exit);
5537
5537
5538
5538
__ BIND (ProcessScalar);
5539
5539
__ beqz (length, Exit);
0 commit comments