Home | History | Annotate | Download | only in cctest

Lines Matching defs:exit

142 static void TestMoveSmi(MacroAssembler* masm, Label* exit, int id, Smi* value) {
147 __ j(not_equal, exit);
167 Label exit;
169 TestMoveSmi(masm, &exit, 1, Smi::FromInt(0));
170 TestMoveSmi(masm, &exit, 2, Smi::FromInt(127));
171 TestMoveSmi(masm, &exit, 3, Smi::FromInt(128));
172 TestMoveSmi(masm, &exit, 4, Smi::FromInt(255));
173 TestMoveSmi(masm, &exit, 5, Smi::FromInt(256));
174 TestMoveSmi(masm, &exit, 6, Smi::FromInt(Smi::kMaxValue));
175 TestMoveSmi(masm, &exit, 7, Smi::FromInt(-1));
176 TestMoveSmi(masm, &exit, 8, Smi::FromInt(-128));
177 TestMoveSmi(masm, &exit, 9, Smi::FromInt(-129));
178 TestMoveSmi(masm, &exit, 10, Smi::FromInt(-256));
179 TestMoveSmi(masm, &exit, 11, Smi::FromInt(-257));
180 TestMoveSmi(masm, &exit, 12, Smi::FromInt(Smi::kMinValue));
183 __ bind(&exit);
195 void TestSmiCompare(MacroAssembler* masm, Label* exit, int id, int x, int y) {
203 __ j(greater_equal, exit);
206 __ j(less_equal, exit);
210 __ j(not_equal, exit);
214 __ j(not_equal, exit);
217 __ j(not_equal, exit);
223 __ j(greater_equal, exit);
227 __ j(less_equal, exit);
232 __ j(not_equal, exit);
235 __ j(not_equal, exit);
258 Label exit;
260 TestSmiCompare(masm, &exit, 0x10, 0, 0);
261 TestSmiCompare(masm, &exit, 0x20, 0, 1);
262 TestSmiCompare(masm, &exit, 0x30, 1, 0);
263 TestSmiCompare(masm, &exit, 0x40, 1, 1);
264 TestSmiCompare(masm, &exit, 0x50, 0, -1);
265 TestSmiCompare(masm, &exit, 0x60, -1, 0);
266 TestSmiCompare(masm, &exit, 0x70, -1, -1);
267 TestSmiCompare(masm, &exit, 0x80, 0, Smi::kMinValue);
268 TestSmiCompare(masm, &exit, 0x90, Smi::kMinValue, 0);
269 TestSmiCompare(masm, &exit, 0xA0, 0, Smi::kMaxValue);
270 TestSmiCompare(masm, &exit, 0xB0, Smi::kMaxValue, 0);
271 TestSmiCompare(masm, &exit, 0xC0, -1, Smi::kMinValue);
272 TestSmiCompare(masm, &exit, 0xD0, Smi::kMinValue, -1);
273 TestSmiCompare(masm, &exit, 0xE0, -1, Smi::kMaxValue);
274 TestSmiCompare(masm, &exit, 0xF0, Smi::kMaxValue, -1);
275 TestSmiCompare(masm, &exit, 0x100, Smi::kMinValue, Smi::kMinValue);
276 TestSmiCompare(masm, &exit, 0x110, Smi::kMinValue, Smi::kMaxValue);
277 TestSmiCompare(masm, &exit, 0x120, Smi::kMaxValue, Smi::kMinValue);
278 TestSmiCompare(masm, &exit, 0x130, Smi::kMaxValue, Smi::kMaxValue);
281 __ bind(&exit);
310 Label exit;
317 __ j(not_equal, &exit);
324 __ j(not_equal, &exit);
331 __ j(not_equal, &exit);
338 __ j(not_equal, &exit);
345 __ j(not_equal, &exit);
354 __ j(not_equal, &exit);
361 __ j(not_equal, &exit);
368 __ j(not_equal, &exit);
375 __ j(not_equal, &exit);
382 __ j(not_equal, &exit);
386 __ bind(&exit);
399 Label* exit,
411 __ j(not_equal, exit);
415 __ j(not_equal, exit);
420 __ j(not_equal, exit);
440 Label exit;
444 TestI64PlusConstantToSmi(masm, &exit, 0x10, 0, 0);
445 TestI64PlusConstantToSmi(masm, &exit, 0x20, 0, 1);
446 TestI64PlusConstantToSmi(masm, &exit, 0x30, 1, 0);
447 TestI64PlusConstantToSmi(masm, &exit, 0x40, Smi::kMaxValue - 5, 5);
448 TestI64PlusConstantToSmi(masm, &exit, 0x50, Smi::kMinValue + 5, 5);
449 TestI64PlusConstantToSmi(masm, &exit, 0x60, twice_max, -Smi::kMaxValue);
450 TestI64PlusConstantToSmi(masm, &exit, 0x70, -twice_max, Smi::kMaxValue);
451 TestI64PlusConstantToSmi(masm, &exit, 0x80, 0, Smi::kMinValue);
452 TestI64PlusConstantToSmi(masm, &exit, 0x90, 0, Smi::kMaxValue);
453 TestI64PlusConstantToSmi(masm, &exit, 0xA0, Smi::kMinValue, 0);
454 TestI64PlusConstantToSmi(masm, &exit, 0xB0, Smi::kMaxValue, 0);
455 TestI64PlusConstantToSmi(masm, &exit, 0xC0, twice_max, Smi::kMinValue);
458 __ bind(&exit);
486 Label exit;
496 __ j(NegateCondition(cond), &exit);
501 __ j(cond, &exit);
507 __ j(NegateCondition(cond), &exit);
512 __ j(cond, &exit);
518 __ j(NegateCondition(cond), &exit);
523 __ j(cond, &exit);
529 __ j(NegateCondition(cond), &exit);
534 __ j(cond, &exit);
542 __ j(NegateCondition(cond), &exit);
547 __ j(cond, &exit);
553 __ j(cond, &exit);
559 __ j(cond, &exit);
564 __ j(cond, &exit);
570 __ j(NegateCondition(cond), &exit);
575 __ j(cond, &exit);
583 __ j(cond, &exit);
589 __ j(cond, &exit);
595 __ j(NegateCondition(cond), &exit);
601 __ j(cond, &exit);
611 __ j(NegateCondition(cond), &exit);
616 __ j(cond, &exit);
621 __ j(cond, &exit);
626 __ j(cond, &exit);
630 __ j(NegateCondition(cond), &exit);
634 __ j(cond, &exit);
640 __ j(NegateCondition(cond), &exit);
645 __ j(NegateCondition(cond), &exit);
650 __ j(NegateCondition(cond), &exit);
655 __ j(NegateCondition(cond), &exit);
660 __ bind(&exit);
673 void TestSmiNeg(MacroAssembler* masm, Label* exit, int id, int x) {
679 __ SmiNeg(r9, rcx, exit);
683 __ j(not_equal, exit);
686 __ SmiNeg(rcx, rcx, exit);
690 __ j(not_equal, exit);
698 __ jmp(exit);
702 __ j(not_equal, exit);
706 __ j(not_equal, exit);
710 __ jmp(exit);
714 __ j(not_equal, exit);
736 Label exit;
738 TestSmiNeg(masm, &exit, 0x10, 0);
739 TestSmiNeg(masm, &exit, 0x20, 1);
740 TestSmiNeg(masm, &exit, 0x30, -1);
741 TestSmiNeg(masm, &exit, 0x40, 127);
742 TestSmiNeg(masm, &exit, 0x50, 65535);
743 TestSmiNeg(masm, &exit, 0x60, Smi::kMinValue);
744 TestSmiNeg(masm, &exit, 0x70, Smi::kMaxValue);
745 TestSmiNeg(masm, &exit, 0x80, -Smi::kMaxValue);
748 __ bind(&exit);
763 Label* exit,
775 __ SmiAdd(r9, rcx, rdx, exit);
777 __ j(not_equal, exit);
780 __ SmiAdd(rcx, rcx, rdx, exit); \
782 __ j(not_equal, exit);
790 __ j(not_equal, exit);
794 __ j(not_equal, exit);
800 __ SmiAddConstant(r9, rcx, Smi::FromInt(second), exit);
802 __ j(not_equal, exit);
805 __ SmiAddConstant(rcx, rcx, Smi::FromInt(second), exit);
807 __ j(not_equal, exit);
826 Label exit;
829 SmiAddTest(masm, &exit, 0x10, 1, 2);
830 SmiAddTest(masm, &exit, 0x20, 1, -2);
831 SmiAddTest(masm, &exit, 0x30, -1, 2);
832 SmiAddTest(masm, &exit, 0x40, -1, -2);
833 SmiAddTest(masm, &exit, 0x50, 0x1000, 0x2000);
834 SmiAddTest(masm, &exit, 0x60, Smi::kMinValue, 5);
835 SmiAddTest(masm, &exit, 0x70, Smi::kMaxValue, -5);
836 SmiAddTest(masm, &exit, 0x80, Smi::kMaxValue, Smi::kMinValue);
839 __ bind(&exit);
852 Label* exit,
861 __ SmiSub(r9, rcx, rdx, exit);
863 __ j(not_equal, exit);
866 __ SmiSub(rcx, rcx, rdx, exit);
868 __ j(not_equal, exit);
875 __ j(not_equal, exit);
880 __ j(not_equal, exit);
885 __ SmiSubConstant(r9, rcx, Smi::FromInt(second), exit);
887 __ j(not_equal, exit);
890 __ SmiSubConstant(rcx, rcx, Smi::FromInt(second), exit);
892 __ j(not_equal, exit);
896 Label* exit,
911 __ jmp(exit);
915 __ j(not_equal, exit);
922 __ jmp(exit);
926 __ j(not_equal, exit);
934 __ jmp(exit);
938 __ j(not_equal, exit);
945 __ jmp(exit);
949 __ j(not_equal, exit);
958 __ jmp(exit);
962 __ j(not_equal, exit);
969 __ jmp(exit);
973 __ j(not_equal, exit);
981 __ jmp(exit);
985 __ j(not_equal, exit);
992 __ jmp(exit);
996 __ j(not_equal, exit);
1018 Label exit;
1020 SmiSubTest(masm, &exit, 0x10, 1, 2);
1021 SmiSubTest(masm, &exit, 0x20, 1, -2);
1022 SmiSubTest(masm, &exit, 0x30, -1, 2);
1023 SmiSubTest(masm, &exit, 0x40, -1, -2);
1024 SmiSubTest(masm, &exit, 0x50, 0x1000, 0x2000);
1025 SmiSubTest(masm, &exit, 0x60, Smi::kMinValue, -5);
1026 SmiSubTest(masm, &exit, 0x70, Smi::kMaxValue, 5);
1027 SmiSubTest(masm, &exit, 0x80, -Smi::kMaxValue, Smi::kMinValue);
1028 SmiSubTest(masm, &exit, 0x90, 0, Smi::kMaxValue);
1030 SmiSubOverflowTest(masm, &exit, 0xA0, 1);
1031 SmiSubOverflowTest(masm, &exit, 0xB0, 1024);
1032 SmiSubOverflowTest(masm, &exit, 0xC0, Smi::kMaxValue);
1033 SmiSubOverflowTest(masm, &exit, 0xD0, -2);
1034 SmiSubOverflowTest(masm, &exit, 0xE0, -42000);
1035 SmiSubOverflowTest(masm, &exit, 0xF0, Smi::kMinValue);
1036 SmiSubOverflowTest(masm, &exit, 0x100, 0);
1039 __ bind(&exit);
1052 void TestSmiMul(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1061 __ SmiMul(r9, rcx, rdx, exit);
1064 __ j(not_equal, exit);
1067 __ j(not_equal, exit);
1070 __ SmiMul(rcx, rcx, rdx, exit);
1072 __ j(not_equal, exit);
1077 __ jmp(exit);
1081 __ j(not_equal, exit);
1084 __ jmp(exit);
1089 // __ j(not_equal, exit);
1110 Label exit;
1112 TestSmiMul(masm, &exit, 0x10, 0, 0);
1113 TestSmiMul(masm, &exit, 0x20, -1, 0);
1114 TestSmiMul(masm, &exit, 0x30, 0, -1);
1115 TestSmiMul(masm, &exit, 0x40, -1, -1);
1116 TestSmiMul(masm, &exit, 0x50, 0x10000, 0x10000);
1117 TestSmiMul(masm, &exit, 0x60, 0x10000, 0xffff);
1118 TestSmiMul(masm, &exit, 0x70, 0x10000, 0xffff);
1119 TestSmiMul(masm, &exit, 0x80, Smi::kMaxValue, -1);
1120 TestSmiMul(masm, &exit, 0x90, Smi::kMaxValue, -2);
1121 TestSmiMul(masm, &exit, 0xa0, Smi::kMaxValue, 2);
1122 TestSmiMul(masm, &exit, 0xb0, (Smi::kMaxValue / 2), 2);
1123 TestSmiMul(masm, &exit, 0xc0, (Smi::kMaxValue / 2) + 1, 2);
1124 TestSmiMul(masm, &exit, 0xd0, (Smi::kMinValue / 2), 2);
1125 TestSmiMul(masm, &exit
1128 __ bind(&exit);
1140 void TestSmiDiv(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1157 __ SmiDiv(r9, rcx, r14, exit);
1161 __ j(not_equal, exit);
1167 __ j(not_equal, exit);
1170 __ SmiDiv(rcx, rcx, r14, exit);
1174 __ j(not_equal, exit);
1182 __ jmp(exit);
1187 __ j(not_equal, exit);
1191 __ jmp(exit);
1196 __ j(not_equal, exit);
1218 Label exit;
1222 TestSmiDiv(masm, &exit, 0x10, 1, 1);
1223 TestSmiDiv(masm, &exit, 0x20, 1, 0);
1224 TestSmiDiv(masm, &exit, 0x30, -1, 0);
1225 TestSmiDiv(masm, &exit, 0x40, 0, 1);
1226 TestSmiDiv(masm, &exit, 0x50, 0, -1);
1227 TestSmiDiv(masm, &exit, 0x60, 4, 2);
1228 TestSmiDiv(masm, &exit, 0x70, -4, 2);
1229 TestSmiDiv(masm, &exit, 0x80, 4, -2);
1230 TestSmiDiv(masm, &exit, 0x90, -4, -2);
1231 TestSmiDiv(masm, &exit, 0xa0, 3, 2);
1232 TestSmiDiv(masm, &exit, 0xb0, 3, 4);
1233 TestSmiDiv(masm, &exit, 0xc0, 1, Smi::kMaxValue);
1234 TestSmiDiv(masm, &exit, 0xd0, -1, Smi::kMaxValue);
1235 TestSmiDiv(masm, &exit, 0xe0, Smi::kMaxValue, 1);
1236 TestSmiDiv(masm, &exit, 0xf0, Smi::kMaxValue, Smi::kMaxValue);
1237 TestSmiDiv(masm, &exit, 0x100, Smi::kMaxValue, -Smi::kMaxValue);
1238 TestSmiDiv(masm, &exit, 0x110, Smi::kMaxValue, -1);
1239 TestSmiDiv(masm, &exit, 0x120, Smi::kMinValue, 1);
1240 TestSmiDiv(masm, &exit, 0x130, Smi::kMinValue, Smi::kMinValue);
1241 TestSmiDiv(masm, &exit, 0x140, Smi::kMinValue, -1);
1244 __ bind(&exit);
1259 void TestSmiMod(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1272 __ SmiMod(r9, rcx, r14, exit);
1276 __ j(not_equal, exit);
1280 __ j(not_equal, exit);
1283 __ SmiMod(rcx, rcx, r14, exit);
1287 __ j(not_equal, exit);
1294 __ jmp(exit);
1299 __ j(not_equal, exit);
1303 __ jmp(exit);
1308 __ j(not_equal, exit);
1330 Label exit;
1334 TestSmiMod(masm, &exit, 0x10, 1, 1);
1335 TestSmiMod(masm, &exit, 0x20, 1, 0);
1336 TestSmiMod(masm, &exit, 0x30, -1, 0);
1337 TestSmiMod(masm, &exit, 0x40, 0, 1);
1338 TestSmiMod(masm, &exit, 0x50, 0, -1);
1339 TestSmiMod(masm, &exit, 0x60, 4, 2);
1340 TestSmiMod(masm, &exit, 0x70, -4, 2);
1341 TestSmiMod(masm, &exit, 0x80, 4, -2);
1342 TestSmiMod(masm, &exit, 0x90, -4, -2);
1343 TestSmiMod(masm, &exit, 0xa0, 3, 2);
1344 TestSmiMod(masm, &exit, 0xb0, 3, 4);
1345 TestSmiMod(masm, &exit, 0xc0, 1, Smi::kMaxValue);
1346 TestSmiMod(masm, &exit, 0xd0, -1, Smi::kMaxValue);
1347 TestSmiMod(masm, &exit, 0xe0, Smi::kMaxValue, 1);
1348 TestSmiMod(masm, &exit, 0xf0, Smi::kMaxValue, Smi::kMaxValue);
1349 TestSmiMod(masm, &exit, 0x100, Smi::kMaxValue, -Smi::kMaxValue);
1350 TestSmiMod(masm, &exit, 0x110, Smi::kMaxValue, -1);
1351 TestSmiMod(masm, &exit, 0x120, Smi::kMinValue, 1);
1352 TestSmiMod(masm, &exit, 0x130, Smi::kMinValue, Smi::kMinValue);
1353 TestSmiMod(masm, &exit, 0x140, Smi::kMinValue, -1);
1356 __ bind(&exit);
1371 void TestSmiIndex(MacroAssembler* masm, Label* exit, int id, int x) {
1381 __ j(not_equal, exit);
1389 __ j(not_equal, exit);
1398 __ j(not_equal, exit);
1406 __ j(not_equal, exit);
1428 Label exit;
1430 TestSmiIndex(masm, &exit, 0x10, 0);
1431 TestSmiIndex(masm, &exit, 0x20, 1);
1432 TestSmiIndex(masm, &exit, 0x30, 100);
1433 TestSmiIndex(masm, &exit, 0x40, 1000);
1434 TestSmiIndex(masm, &exit, 0x50, Smi::kMaxValue);
1437 __ bind(&exit);
1449 void TestSelectNonSmi(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1454 __ SelectNonSmi(r9, rcx, rdx, exit);
1458 __ j(not_equal, exit);
1464 __ SelectNonSmi(r9, rcx, rdx, exit);
1468 __ j(not_equal, exit);
1477 __ jmp(exit);
1499 Label exit;
1501 TestSelectNonSmi(masm, &exit, 0x10, 0, 0);
1502 TestSelectNonSmi(masm, &exit, 0x20, 0, 1);
1503 TestSelectNonSmi(masm, &exit, 0x30, 1, 0);
1504 TestSelectNonSmi(masm, &exit, 0x40, 0, -1);
1505 TestSelectNonSmi(masm, &exit, 0x50, -1, 0);
1506 TestSelectNonSmi(masm, &exit, 0x60, -1, -1);
1507 TestSelectNonSmi(masm, &exit, 0x70, 1, 1);
1508 TestSelectNonSmi(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1509 TestSelectNonSmi(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1512 __ bind(&exit);
1524 void TestSmiAnd(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1535 __ j(not_equal, exit);
1539 __ j(not_equal, exit);
1544 __ j(not_equal, exit);
1550 __ j(not_equal, exit);
1554 __ j(not_equal, exit);
1559 __ j(not_equal, exit);
1580 Label exit;
1582 TestSmiAnd(masm, &exit, 0x10, 0, 0);
1583 TestSmiAnd(masm, &exit, 0x20, 0, 1);
1584 TestSmiAnd(masm, &exit, 0x30, 1, 0);
1585 TestSmiAnd(masm, &exit, 0x40, 0, -1);
1586 TestSmiAnd(masm, &exit, 0x50, -1, 0);
1587 TestSmiAnd(masm, &exit, 0x60, -1, -1);
1588 TestSmiAnd(masm, &exit, 0x70, 1, 1);
1589 TestSmiAnd(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1590 TestSmiAnd(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1591 TestSmiAnd(masm, &exit, 0xA0, Smi::kMinValue, -1);
1592 TestSmiAnd(masm, &exit, 0xB0, Smi::kMinValue, -1);
1595 __ bind(&exit);
1607 void TestSmiOr(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1618 __ j(not_equal, exit);
1622 __ j(not_equal, exit);
1627 __ j(not_equal, exit);
1633 __ j(not_equal, exit);
1637 __ j(not_equal, exit);
1642 __ j(not_equal, exit);
1663 Label exit;
1665 TestSmiOr(masm, &exit, 0x10, 0, 0);
1666 TestSmiOr(masm, &exit, 0x20, 0, 1);
1667 TestSmiOr(masm, &exit, 0x30, 1, 0);
1668 TestSmiOr(masm, &exit, 0x40, 0, -1);
1669 TestSmiOr(masm, &exit, 0x50, -1, 0);
1670 TestSmiOr(masm, &exit, 0x60, -1, -1);
1671 TestSmiOr(masm, &exit, 0x70, 1, 1);
1672 TestSmiOr(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1673 TestSmiOr(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1674 TestSmiOr(masm, &exit, 0xA0, Smi::kMinValue, -1);
1675 TestSmiOr(masm, &exit, 0xB0, 0x05555555, 0x01234567);
1676 TestSmiOr(masm, &exit, 0xC0, 0x05555555, 0x0fedcba9);
1677 TestSmiOr(masm, &exit, 0xD0, Smi::kMinValue, -1);
1680 __ bind(&exit);
1692 void TestSmiXor(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1703 __ j(not_equal, exit);
1707 __ j(not_equal, exit);
1712 __ j(not_equal, exit);
1718 __ j(not_equal, exit);
1722 __ j(not_equal, exit);
1727 __ j(not_equal, exit);
1748 Label exit;
1750 TestSmiXor(masm, &exit, 0x10, 0, 0);
1751 TestSmiXor(masm, &exit, 0x20, 0, 1);
1752 TestSmiXor(masm, &exit, 0x30, 1, 0);
1753 TestSmiXor(masm, &exit, 0x40, 0, -1);
1754 TestSmiXor(masm, &exit, 0x50, -1, 0);
1755 TestSmiXor(masm, &exit, 0x60, -1, -1);
1756 TestSmiXor(masm, &exit, 0x70, 1, 1);
1757 TestSmiXor(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1758 TestSmiXor(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1759 TestSmiXor(masm, &exit, 0xA0, Smi::kMinValue, -1);
1760 TestSmiXor(masm, &exit, 0xB0, 0x5555555, 0x01234567);
1761 TestSmiXor(masm, &exit, 0xC0, 0x5555555, 0x0fedcba9);
1762 TestSmiXor(masm, &exit, 0xD0, Smi::kMinValue, -1);
1765 __ bind(&exit);
1777 void TestSmiNot(MacroAssembler* masm, Label* exit, int id, int x) {
1787 __ j(not_equal, exit);
1791 __ j(not_equal, exit);
1796 __ j(not_equal, exit);
1817 Label exit;
1819 TestSmiNot(masm, &exit, 0x10, 0);
1820 TestSmiNot(masm, &exit, 0x20, 1);
1821 TestSmiNot(masm, &exit, 0x30, -1);
1822 TestSmiNot(masm, &exit, 0x40, 127);
1823 TestSmiNot(masm, &exit, 0x50, 65535);
1824 TestSmiNot(masm, &exit, 0x60, Smi::kMinValue);
1825 TestSmiNot(masm, &exit, 0x70, Smi::kMaxValue);
1826 TestSmiNot(masm, &exit, 0x80, 0x05555555);
1829 __ bind(&exit);
1841 void TestSmiShiftLeft(MacroAssembler* masm, Label* exit, int id, int x) {
1856 __ j(not_equal, exit);
1864 __ j(not_equal, exit);
1873 __ j(not_equal, exit);
1882 __ j(not_equal, exit);
1891 __ j(not_equal, exit);
1915 Label exit;
1917 TestSmiShiftLeft(masm, &exit, 0x10, 0);
1918 TestSmiShiftLeft(masm, &exit, 0x50, 1);
1919 TestSmiShiftLeft(masm, &exit, 0x90, 127);
1920 TestSmiShiftLeft(masm, &exit, 0xD0, 65535);
1921 TestSmiShiftLeft(masm, &exit, 0x110, Smi::kMaxValue);
1922 TestSmiShiftLeft(masm, &exit, 0x150, Smi::kMinValue);
1923 TestSmiShiftLeft(masm, &exit, 0x190, -1);
1926 __ bind(&exit);
1939 Label* exit,
1951 __ SmiShiftLogicalRightConstant(r9, rcx, shift, exit);
1955 __ j(not_equal, exit);
1960 __ SmiShiftLogicalRight(r9, rdx, rcx, exit);
1964 __ j(not_equal, exit);
1969 __ SmiShiftLogicalRight(r9, rdx, r11, exit);
1973 __ j(not_equal, exit);
1982 __ jmp(exit);
1987 __ j(not_equal, exit);
1993 __ jmp(exit);
1998 __ j(not_equal, exit);
2023 Label exit;
2025 TestSmiShiftLogicalRight(masm, &exit, 0x10, 0);
2026 TestSmiShiftLogicalRight(masm, &exit, 0x30, 1);
2027 TestSmiShiftLogicalRight(masm, &exit, 0x50, 127);
2028 TestSmiShiftLogicalRight(masm, &exit, 0x70, 65535);
2029 TestSmiShiftLogicalRight(masm, &exit, 0x90, Smi::kMaxValue);
2030 TestSmiShiftLogicalRight(masm, &exit, 0xB0, Smi::kMinValue);
2031 TestSmiShiftLogicalRight(masm, &exit, 0xD0, -1);
2034 __ bind(&exit);
2047 Label* exit,
2062 __ j(not_equal, exit);
2070 __ j(not_equal, exit);
2094 Label exit;
2096 TestSmiShiftArithmeticRight(masm, &exit, 0x10, 0);
2097 TestSmiShiftArithmeticRight(masm, &exit, 0x20, 1);
2098 TestSmiShiftArithmeticRight(masm, &exit, 0x30, 127);
2099 TestSmiShiftArithmeticRight(masm, &exit, 0x40, 65535);
2100 TestSmiShiftArithmeticRight(masm, &exit, 0x50, Smi::kMaxValue);
2101 TestSmiShiftArithmeticRight(masm, &exit, 0x60, Smi::kMinValue);
2102 TestSmiShiftArithmeticRight(masm, &exit, 0x70, -1);
2105 __ bind(&exit);
2117 void TestPositiveSmiPowerUp(MacroAssembler* masm, Label* exit, int id, int x) {
2130 __ j(not_equal, exit);
2133 __ j(not_equal, exit);
2137 __ j(not_equal, exit);
2160 Label exit;
2162 TestPositiveSmiPowerUp(masm, &exit, 0x20, 0);
2163 TestPositiveSmiPowerUp(masm, &exit, 0x40, 1);
2164 TestPositiveSmiPowerUp(masm, &exit, 0x60, 127);
2165 TestPositiveSmiPowerUp(masm, &exit, 0x80, 128);
2166 TestPositiveSmiPowerUp(masm, &exit, 0xA0, 255);
2167 TestPositiveSmiPowerUp(masm, &exit, 0xC0, 256);
2168 TestPositiveSmiPowerUp(masm, &exit, 0x100, 65535);
2169 TestPositiveSmiPowerUp(masm, &exit, 0x120, 65536);
2170 TestPositiveSmiPowerUp(masm, &exit, 0x140, Smi::kMaxValue);
2173 __ bind(&exit);
2204 Label exit;
2238 __ j(not_equal, &exit);
2245 __ j(not_equal, &exit);
2253 __ j(not_equal, &exit);
2258 __ j(not_equal, &exit);
2264 __ j(not_equal, &exit);
2272 __ j(not_equal, &exit);
2277 __ j(not_equal, &exit);
2283 __ j(not_equal, &exit);
2292 __ j(not_equal, &exit);
2298 __ j(not_equal, &exit);
2306 __ j(not_equal, &exit);
2312 __ j(not_equal, &exit);
2317 __ j(not_equal, &exit);
2325 __ j(not_equal, &exit);
2330 __ j(not_equal, &exit);
2335 __ j(not_equal, &exit);
2343 __ j(not_equal, &exit);
2348 __ j(not_equal, &exit);
2353 __ j(not_equal, &exit);
2361 __ j(not_equal, &exit);
2366 __ j(not_equal, &exit);
2372 __ j(not_equal, &exit);
2380 __ j(not_equal, &exit);
2385 __ j(not_equal, &exit);
2390 __ j(not_equal, &exit);
2398 __ j(not_equal, &exit);
2403 __ j(not_equal, &exit);
2408 __ j(not_equal, &exit);
2413 __ j(not_equal, &exit);
2418 __ j(not_equal, &exit);
2426 __ j(not_equal, &exit);
2431 __ j(not_equal, &exit);
2436 __ j(not_equal, &exit);
2441 __ j(not_equal, &exit);
2446 __ j(not_equal, &exit);
2455 __ j(not_equal, &exit);
2460 __ j(not_equal, &exit);
2465 __ j(not_equal, &exit);
2470 __ j(not_equal, &exit);
2475 __ j(not_equal, &exit);
2481 __ j(not_equal, &exit);
2486 __ j(not_equal, &exit);
2494 __ j(not_equal, &exit);
2499 __ j(not_equal, &exit);
2504 __ j(not_equal, &exit);
2509 __ j(not_equal, &exit);
2514 __ j(not_equal, &exit);
2519 __ j(not_equal, &exit);
2525 __ bind(&exit);