Home | History | Annotate | Download | only in cctest

Lines Matching refs:exit

142 static void TestMoveSmi(MacroAssembler* masm, Label* exit, int id, Smi* value) {
147 __ j(not_equal, exit);
166 Label exit;
168 TestMoveSmi(masm, &exit, 1, Smi::FromInt(0));
169 TestMoveSmi(masm, &exit, 2, Smi::FromInt(127));
170 TestMoveSmi(masm, &exit, 3, Smi::FromInt(128));
171 TestMoveSmi(masm, &exit, 4, Smi::FromInt(255));
172 TestMoveSmi(masm, &exit, 5, Smi::FromInt(256));
173 TestMoveSmi(masm, &exit, 6, Smi::FromInt(Smi::kMaxValue));
174 TestMoveSmi(masm, &exit, 7, Smi::FromInt(-1));
175 TestMoveSmi(masm, &exit, 8, Smi::FromInt(-128));
176 TestMoveSmi(masm, &exit, 9, Smi::FromInt(-129));
177 TestMoveSmi(masm, &exit, 10, Smi::FromInt(-256));
178 TestMoveSmi(masm, &exit, 11, Smi::FromInt(-257));
179 TestMoveSmi(masm, &exit, 12, Smi::FromInt(Smi::kMinValue));
182 __ bind(&exit);
194 void TestSmiCompare(MacroAssembler* masm, Label* exit, int id, int x, int y) {
202 __ j(greater_equal, exit);
205 __ j(less_equal, exit);
209 __ j(not_equal, exit);
213 __ j(not_equal, exit);
216 __ j(not_equal, exit);
222 __ j(greater_equal, exit);
226 __ j(less_equal, exit);
231 __ j(not_equal, exit);
234 __ j(not_equal, exit);
256 Label exit;
258 TestSmiCompare(masm, &exit, 0x10, 0, 0);
259 TestSmiCompare(masm, &exit, 0x20, 0, 1);
260 TestSmiCompare(masm, &exit, 0x30, 1, 0);
261 TestSmiCompare(masm, &exit, 0x40, 1, 1);
262 TestSmiCompare(masm, &exit, 0x50, 0, -1);
263 TestSmiCompare(masm, &exit, 0x60, -1, 0);
264 TestSmiCompare(masm, &exit, 0x70, -1, -1);
265 TestSmiCompare(masm, &exit, 0x80, 0, Smi::kMinValue);
266 TestSmiCompare(masm, &exit, 0x90, Smi::kMinValue, 0);
267 TestSmiCompare(masm, &exit, 0xA0, 0, Smi::kMaxValue);
268 TestSmiCompare(masm, &exit, 0xB0, Smi::kMaxValue, 0);
269 TestSmiCompare(masm, &exit, 0xC0, -1, Smi::kMinValue);
270 TestSmiCompare(masm, &exit, 0xD0, Smi::kMinValue, -1);
271 TestSmiCompare(masm, &exit, 0xE0, -1, Smi::kMaxValue);
272 TestSmiCompare(masm, &exit, 0xF0, Smi::kMaxValue, -1);
273 TestSmiCompare(masm, &exit, 0x100, Smi::kMinValue, Smi::kMinValue);
274 TestSmiCompare(masm, &exit, 0x110, Smi::kMinValue, Smi::kMaxValue);
275 TestSmiCompare(masm, &exit, 0x120, Smi::kMaxValue, Smi::kMinValue);
276 TestSmiCompare(masm, &exit, 0x130, Smi::kMaxValue, Smi::kMaxValue);
279 __ bind(&exit);
307 Label exit;
314 __ j(not_equal, &exit);
321 __ j(not_equal, &exit);
328 __ j(not_equal, &exit);
335 __ j(not_equal, &exit);
342 __ j(not_equal, &exit);
351 __ j(not_equal, &exit);
358 __ j(not_equal, &exit);
365 __ j(not_equal, &exit);
372 __ j(not_equal, &exit);
379 __ j(not_equal, &exit);
383 __ bind(&exit);
396 Label* exit,
408 __ j(not_equal, exit);
412 __ j(not_equal, exit);
417 __ j(not_equal, exit);
436 Label exit;
440 TestI64PlusConstantToSmi(masm, &exit, 0x10, 0, 0);
441 TestI64PlusConstantToSmi(masm, &exit, 0x20, 0, 1);
442 TestI64PlusConstantToSmi(masm, &exit, 0x30, 1, 0);
443 TestI64PlusConstantToSmi(masm, &exit, 0x40, Smi::kMaxValue - 5, 5);
444 TestI64PlusConstantToSmi(masm, &exit, 0x50, Smi::kMinValue + 5, 5);
445 TestI64PlusConstantToSmi(masm, &exit, 0x60, twice_max, -Smi::kMaxValue);
446 TestI64PlusConstantToSmi(masm, &exit, 0x70, -twice_max, Smi::kMaxValue);
447 TestI64PlusConstantToSmi(masm, &exit, 0x80, 0, Smi::kMinValue);
448 TestI64PlusConstantToSmi(masm, &exit, 0x90, 0, Smi::kMaxValue);
449 TestI64PlusConstantToSmi(masm, &exit, 0xA0, Smi::kMinValue, 0);
450 TestI64PlusConstantToSmi(masm, &exit, 0xB0, Smi::kMaxValue, 0);
451 TestI64PlusConstantToSmi(masm, &exit, 0xC0, twice_max, Smi::kMinValue);
454 __ bind(&exit);
481 Label exit;
491 __ j(NegateCondition(cond), &exit);
496 __ j(cond, &exit);
502 __ j(NegateCondition(cond), &exit);
507 __ j(cond, &exit);
513 __ j(NegateCondition(cond), &exit);
518 __ j(cond, &exit);
524 __ j(NegateCondition(cond), &exit);
529 __ j(cond, &exit);
537 __ j(NegateCondition(cond), &exit);
542 __ j(cond, &exit);
548 __ j(cond, &exit);
554 __ j(cond, &exit);
559 __ j(cond, &exit);
565 __ j(NegateCondition(cond), &exit);
570 __ j(cond, &exit);
578 __ j(cond, &exit);
584 __ j(cond, &exit);
590 __ j(NegateCondition(cond), &exit);
596 __ j(cond, &exit);
606 __ j(NegateCondition(cond), &exit);
611 __ j(cond, &exit);
616 __ j(cond, &exit);
621 __ j(cond, &exit);
625 __ j(NegateCondition(cond), &exit);
629 __ j(cond, &exit);
635 __ j(NegateCondition(cond), &exit);
640 __ j(NegateCondition(cond), &exit);
645 __ j(NegateCondition(cond), &exit);
650 __ j(NegateCondition(cond), &exit);
655 __ bind(&exit);
668 void TestSmiNeg(MacroAssembler* masm, Label* exit, int id, int x) {
674 __ SmiNeg(r9, rcx, exit);
678 __ j(not_equal, exit);
681 __ SmiNeg(rcx, rcx, exit);
685 __ j(not_equal, exit);
693 __ jmp(exit);
697 __ j(not_equal, exit);
701 __ j(not_equal, exit);
705 __ jmp(exit);
709 __ j(not_equal, exit);
730 Label exit;
732 TestSmiNeg(masm, &exit, 0x10, 0);
733 TestSmiNeg(masm, &exit, 0x20, 1);
734 TestSmiNeg(masm, &exit, 0x30, -1);
735 TestSmiNeg(masm, &exit, 0x40, 127);
736 TestSmiNeg(masm, &exit, 0x50, 65535);
737 TestSmiNeg(masm, &exit, 0x60, Smi::kMinValue);
738 TestSmiNeg(masm, &exit, 0x70, Smi::kMaxValue);
739 TestSmiNeg(masm, &exit, 0x80, -Smi::kMaxValue);
742 __ bind(&exit);
757 Label* exit,
769 __ SmiAdd(r9, rcx, rdx, exit);
771 __ j(not_equal, exit);
774 __ SmiAdd(rcx, rcx, rdx, exit); \
776 __ j(not_equal, exit);
784 __ j(not_equal, exit);
788 __ j(not_equal, exit);
794 __ SmiAddConstant(r9, rcx, Smi::FromInt(second), exit);
796 __ j(not_equal, exit);
799 __ SmiAddConstant(rcx, rcx, Smi::FromInt(second), exit);
801 __ j(not_equal, exit);
820 Label exit;
823 SmiAddTest(masm, &exit, 0x10, 1, 2);
824 SmiAddTest(masm, &exit, 0x20, 1, -2);
825 SmiAddTest(masm, &exit, 0x30, -1, 2);
826 SmiAddTest(masm, &exit, 0x40, -1, -2);
827 SmiAddTest(masm, &exit, 0x50, 0x1000, 0x2000);
828 SmiAddTest(masm, &exit, 0x60, Smi::kMinValue, 5);
829 SmiAddTest(masm, &exit, 0x70, Smi::kMaxValue, -5);
830 SmiAddTest(masm, &exit, 0x80, Smi::kMaxValue, Smi::kMinValue);
833 __ bind(&exit);
846 Label* exit,
855 __ SmiSub(r9, rcx, rdx, exit);
857 __ j(not_equal, exit);
860 __ SmiSub(rcx, rcx, rdx, exit);
862 __ j(not_equal, exit);
869 __ j(not_equal, exit);
874 __ j(not_equal, exit);
879 __ SmiSubConstant(r9, rcx, Smi::FromInt(second), exit);
881 __ j(not_equal, exit);
884 __ SmiSubConstant(rcx, rcx, Smi::FromInt(second), exit);
886 __ j(not_equal, exit);
890 Label* exit,
905 __ jmp(exit);
909 __ j(not_equal, exit);
916 __ jmp(exit);
920 __ j(not_equal, exit);
928 __ jmp(exit);
932 __ j(not_equal, exit);
939 __ jmp(exit);
943 __ j(not_equal, exit);
952 __ jmp(exit);
956 __ j(not_equal, exit);
963 __ jmp(exit);
967 __ j(not_equal, exit);
975 __ jmp(exit);
979 __ j(not_equal, exit);
986 __ jmp(exit);
990 __ j(not_equal, exit);
1011 Label exit;
1013 SmiSubTest(masm, &exit, 0x10, 1, 2);
1014 SmiSubTest(masm, &exit, 0x20, 1, -2);
1015 SmiSubTest(masm, &exit, 0x30, -1, 2);
1016 SmiSubTest(masm, &exit, 0x40, -1, -2);
1017 SmiSubTest(masm, &exit, 0x50, 0x1000, 0x2000);
1018 SmiSubTest(masm, &exit, 0x60, Smi::kMinValue, -5);
1019 SmiSubTest(masm, &exit, 0x70, Smi::kMaxValue, 5);
1020 SmiSubTest(masm, &exit, 0x80, -Smi::kMaxValue, Smi::kMinValue);
1021 SmiSubTest(masm, &exit, 0x90, 0, Smi::kMaxValue);
1023 SmiSubOverflowTest(masm, &exit, 0xA0, 1);
1024 SmiSubOverflowTest(masm, &exit, 0xB0, 1024);
1025 SmiSubOverflowTest(masm, &exit, 0xC0, Smi::kMaxValue);
1026 SmiSubOverflowTest(masm, &exit, 0xD0, -2);
1027 SmiSubOverflowTest(masm, &exit, 0xE0, -42000);
1028 SmiSubOverflowTest(masm, &exit, 0xF0, Smi::kMinValue);
1029 SmiSubOverflowTest(masm, &exit, 0x100, 0);
1032 __ bind(&exit);
1045 void TestSmiMul(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1054 __ SmiMul(r9, rcx, rdx, exit);
1057 __ j(not_equal, exit);
1060 __ j(not_equal, exit);
1063 __ SmiMul(rcx, rcx, rdx, exit);
1065 __ j(not_equal, exit);
1070 __ jmp(exit);
1074 __ j(not_equal, exit);
1077 __ jmp(exit);
1082 // __ j(not_equal, exit);
1102 Label exit;
1104 TestSmiMul(masm, &exit, 0x10, 0, 0);
1105 TestSmiMul(masm, &exit, 0x20, -1, 0);
1106 TestSmiMul(masm, &exit, 0x30, 0, -1);
1107 TestSmiMul(masm, &exit, 0x40, -1, -1);
1108 TestSmiMul(masm, &exit, 0x50, 0x10000, 0x10000);
1109 TestSmiMul(masm, &exit, 0x60, 0x10000, 0xffff);
1110 TestSmiMul(masm, &exit, 0x70, 0x10000, 0xffff);
1111 TestSmiMul(masm, &exit, 0x80, Smi::kMaxValue, -1);
1112 TestSmiMul(masm, &exit, 0x90, Smi::kMaxValue, -2);
1113 TestSmiMul(masm, &exit, 0xa0, Smi::kMaxValue, 2);
1114 TestSmiMul(masm, &exit, 0xb0, (Smi::kMaxValue / 2), 2);
1115 TestSmiMul(masm, &exit, 0xc0, (Smi::kMaxValue / 2) + 1, 2);
1116 TestSmiMul(masm, &exit, 0xd0, (Smi::kMinValue / 2), 2);
1117 TestSmiMul(masm, &exit, 0xe0, (Smi::kMinValue / 2) - 1, 2);
1120 __ bind(&exit);
1132 void TestSmiDiv(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1149 __ SmiDiv(r9, rcx, r14, exit);
1153 __ j(not_equal, exit);
1159 __ j(not_equal, exit);
1162 __ SmiDiv(rcx, rcx, r14, exit);
1166 __ j(not_equal, exit);
1174 __ jmp(exit);
1179 __ j(not_equal, exit);
1183 __ jmp(exit);
1188 __ j(not_equal, exit);
1209 Label exit;
1213 TestSmiDiv(masm, &exit, 0x10, 1, 1);
1214 TestSmiDiv(masm, &exit, 0x20, 1, 0);
1215 TestSmiDiv(masm, &exit, 0x30, -1, 0);
1216 TestSmiDiv(masm, &exit, 0x40, 0, 1);
1217 TestSmiDiv(masm, &exit, 0x50, 0, -1);
1218 TestSmiDiv(masm, &exit, 0x60, 4, 2);
1219 TestSmiDiv(masm, &exit, 0x70, -4, 2);
1220 TestSmiDiv(masm, &exit, 0x80, 4, -2);
1221 TestSmiDiv(masm, &exit, 0x90, -4, -2);
1222 TestSmiDiv(masm, &exit, 0xa0, 3, 2);
1223 TestSmiDiv(masm, &exit, 0xb0, 3, 4);
1224 TestSmiDiv(masm, &exit, 0xc0, 1, Smi::kMaxValue);
1225 TestSmiDiv(masm, &exit, 0xd0, -1, Smi::kMaxValue);
1226 TestSmiDiv(masm, &exit, 0xe0, Smi::kMaxValue, 1);
1227 TestSmiDiv(masm, &exit, 0xf0, Smi::kMaxValue, Smi::kMaxValue);
1228 TestSmiDiv(masm, &exit, 0x100, Smi::kMaxValue, -Smi::kMaxValue);
1229 TestSmiDiv(masm, &exit, 0x110, Smi::kMaxValue, -1);
1230 TestSmiDiv(masm, &exit, 0x120, Smi::kMinValue, 1);
1231 TestSmiDiv(masm, &exit, 0x130, Smi::kMinValue, Smi::kMinValue);
1232 TestSmiDiv(masm, &exit, 0x140, Smi::kMinValue, -1);
1235 __ bind(&exit);
1250 void TestSmiMod(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1263 __ SmiMod(r9, rcx, r14, exit);
1267 __ j(not_equal, exit);
1271 __ j(not_equal, exit);
1274 __ SmiMod(rcx, rcx, r14, exit);
1278 __ j(not_equal, exit);
1285 __ jmp(exit);
1290 __ j(not_equal, exit);
1294 __ jmp(exit);
1299 __ j(not_equal, exit);
1320 Label exit;
1324 TestSmiMod(masm, &exit, 0x10, 1, 1);
1325 TestSmiMod(masm, &exit, 0x20, 1, 0);
1326 TestSmiMod(masm, &exit, 0x30, -1, 0);
1327 TestSmiMod(masm, &exit, 0x40, 0, 1);
1328 TestSmiMod(masm, &exit, 0x50, 0, -1);
1329 TestSmiMod(masm, &exit, 0x60, 4, 2);
1330 TestSmiMod(masm, &exit, 0x70, -4, 2);
1331 TestSmiMod(masm, &exit, 0x80, 4, -2);
1332 TestSmiMod(masm, &exit, 0x90, -4, -2);
1333 TestSmiMod(masm, &exit, 0xa0, 3, 2);
1334 TestSmiMod(masm, &exit, 0xb0, 3, 4);
1335 TestSmiMod(masm, &exit, 0xc0, 1, Smi::kMaxValue);
1336 TestSmiMod(masm, &exit, 0xd0, -1, Smi::kMaxValue);
1337 TestSmiMod(masm, &exit, 0xe0, Smi::kMaxValue, 1);
1338 TestSmiMod(masm, &exit, 0xf0, Smi::kMaxValue, Smi::kMaxValue);
1339 TestSmiMod(masm, &exit, 0x100, Smi::kMaxValue, -Smi::kMaxValue);
1340 TestSmiMod(masm, &exit, 0x110, Smi::kMaxValue, -1);
1341 TestSmiMod(masm, &exit, 0x120, Smi::kMinValue, 1);
1342 TestSmiMod(masm, &exit, 0x130, Smi::kMinValue, Smi::kMinValue);
1343 TestSmiMod(masm, &exit, 0x140, Smi::kMinValue, -1);
1346 __ bind(&exit);
1361 void TestSmiIndex(MacroAssembler* masm, Label* exit, int id, int x) {
1371 __ j(not_equal, exit);
1379 __ j(not_equal, exit);
1388 __ j(not_equal, exit);
1396 __ j(not_equal, exit);
1418 Label exit;
1420 TestSmiIndex(masm, &exit, 0x10, 0);
1421 TestSmiIndex(masm, &exit, 0x20, 1);
1422 TestSmiIndex(masm, &exit, 0x30, 100);
1423 TestSmiIndex(masm, &exit, 0x40, 1000);
1424 TestSmiIndex(masm, &exit, 0x50, Smi::kMaxValue);
1427 __ bind(&exit);
1439 void TestSelectNonSmi(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1444 __ SelectNonSmi(r9, rcx, rdx, exit);
1448 __ j(not_equal, exit);
1454 __ SelectNonSmi(r9, rcx, rdx, exit);
1458 __ j(not_equal, exit);
1467 __ jmp(exit);
1488 Label exit;
1490 TestSelectNonSmi(masm, &exit, 0x10, 0, 0);
1491 TestSelectNonSmi(masm, &exit, 0x20, 0, 1);
1492 TestSelectNonSmi(masm, &exit, 0x30, 1, 0);
1493 TestSelectNonSmi(masm, &exit, 0x40, 0, -1);
1494 TestSelectNonSmi(masm, &exit, 0x50, -1, 0);
1495 TestSelectNonSmi(masm, &exit, 0x60, -1, -1);
1496 TestSelectNonSmi(masm, &exit, 0x70, 1, 1);
1497 TestSelectNonSmi(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1498 TestSelectNonSmi(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1501 __ bind(&exit);
1513 void TestSmiAnd(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1524 __ j(not_equal, exit);
1528 __ j(not_equal, exit);
1533 __ j(not_equal, exit);
1539 __ j(not_equal, exit);
1543 __ j(not_equal, exit);
1548 __ j(not_equal, exit);
1568 Label exit;
1570 TestSmiAnd(masm, &exit, 0x10, 0, 0);
1571 TestSmiAnd(masm, &exit, 0x20, 0, 1);
1572 TestSmiAnd(masm, &exit, 0x30, 1, 0);
1573 TestSmiAnd(masm, &exit, 0x40, 0, -1);
1574 TestSmiAnd(masm, &exit, 0x50, -1, 0);
1575 TestSmiAnd(masm, &exit, 0x60, -1, -1);
1576 TestSmiAnd(masm, &exit, 0x70, 1, 1);
1577 TestSmiAnd(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1578 TestSmiAnd(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1579 TestSmiAnd(masm, &exit, 0xA0, Smi::kMinValue, -1);
1580 TestSmiAnd(masm, &exit, 0xB0, Smi::kMinValue, -1);
1583 __ bind(&exit);
1595 void TestSmiOr(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1606 __ j(not_equal, exit);
1610 __ j(not_equal, exit);
1615 __ j(not_equal, exit);
1621 __ j(not_equal, exit);
1625 __ j(not_equal, exit);
1630 __ j(not_equal, exit);
1650 Label exit;
1652 TestSmiOr(masm, &exit, 0x10, 0, 0);
1653 TestSmiOr(masm, &exit, 0x20, 0, 1);
1654 TestSmiOr(masm, &exit, 0x30, 1, 0);
1655 TestSmiOr(masm, &exit, 0x40, 0, -1);
1656 TestSmiOr(masm, &exit, 0x50, -1, 0);
1657 TestSmiOr(masm, &exit, 0x60, -1, -1);
1658 TestSmiOr(masm, &exit, 0x70, 1, 1);
1659 TestSmiOr(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1660 TestSmiOr(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1661 TestSmiOr(masm, &exit, 0xA0, Smi::kMinValue, -1);
1662 TestSmiOr(masm, &exit, 0xB0, 0x05555555, 0x01234567);
1663 TestSmiOr(masm, &exit, 0xC0, 0x05555555, 0x0fedcba9);
1664 TestSmiOr(masm, &exit, 0xD0, Smi::kMinValue, -1);
1667 __ bind(&exit);
1679 void TestSmiXor(MacroAssembler* masm, Label* exit, int id, int x, int y) {
1690 __ j(not_equal, exit);
1694 __ j(not_equal, exit);
1699 __ j(not_equal, exit);
1705 __ j(not_equal, exit);
1709 __ j(not_equal, exit);
1714 __ j(not_equal, exit);
1734 Label exit;
1736 TestSmiXor(masm, &exit, 0x10, 0, 0);
1737 TestSmiXor(masm, &exit, 0x20, 0, 1);
1738 TestSmiXor(masm, &exit, 0x30, 1, 0);
1739 TestSmiXor(masm, &exit, 0x40, 0, -1);
1740 TestSmiXor(masm, &exit, 0x50, -1, 0);
1741 TestSmiXor(masm, &exit, 0x60, -1, -1);
1742 TestSmiXor(masm, &exit, 0x70, 1, 1);
1743 TestSmiXor(masm, &exit, 0x80, Smi::kMinValue, Smi::kMaxValue);
1744 TestSmiXor(masm, &exit, 0x90, Smi::kMinValue, Smi::kMinValue);
1745 TestSmiXor(masm, &exit, 0xA0, Smi::kMinValue, -1);
1746 TestSmiXor(masm, &exit, 0xB0, 0x5555555, 0x01234567);
1747 TestSmiXor(masm, &exit, 0xC0, 0x5555555, 0x0fedcba9);
1748 TestSmiXor(masm, &exit, 0xD0, Smi::kMinValue, -1);
1751 __ bind(&exit);
1763 void TestSmiNot(MacroAssembler* masm, Label* exit, int id, int x) {
1773 __ j(not_equal, exit);
1777 __ j(not_equal, exit);
1782 __ j(not_equal, exit);
1802 Label exit;
1804 TestSmiNot(masm, &exit, 0x10, 0);
1805 TestSmiNot(masm, &exit, 0x20, 1);
1806 TestSmiNot(masm, &exit, 0x30, -1);
1807 TestSmiNot(masm, &exit, 0x40, 127);
1808 TestSmiNot(masm, &exit, 0x50, 65535);
1809 TestSmiNot(masm, &exit, 0x60, Smi::kMinValue);
1810 TestSmiNot(masm, &exit, 0x70, Smi::kMaxValue);
1811 TestSmiNot(masm, &exit, 0x80, 0x05555555);
1814 __ bind(&exit);
1826 void TestSmiShiftLeft(MacroAssembler* masm, Label* exit, int id, int x) {
1841 __ j(not_equal, exit);
1849 __ j(not_equal, exit);
1858 __ j(not_equal, exit);
1867 __ j(not_equal, exit);
1876 __ j(not_equal, exit);
1899 Label exit;
1901 TestSmiShiftLeft(masm, &exit, 0x10, 0);
1902 TestSmiShiftLeft(masm, &exit, 0x50, 1);
1903 TestSmiShiftLeft(masm, &exit, 0x90, 127);
1904 TestSmiShiftLeft(masm, &exit, 0xD0, 65535);
1905 TestSmiShiftLeft(masm, &exit, 0x110, Smi::kMaxValue);
1906 TestSmiShiftLeft(masm, &exit, 0x150, Smi::kMinValue);
1907 TestSmiShiftLeft(masm, &exit, 0x190, -1);
1910 __ bind(&exit);
1923 Label* exit,
1935 __ SmiShiftLogicalRightConstant(r9, rcx, shift, exit);
1939 __ j(not_equal, exit);
1944 __ SmiShiftLogicalRight(r9, rdx, rcx, exit);
1948 __ j(not_equal, exit);
1953 __ SmiShiftLogicalRight(r9, rdx, r11, exit);
1957 __ j(not_equal, exit);
1966 __ jmp(exit);
1971 __ j(not_equal, exit);
1977 __ jmp(exit);
1982 __ j(not_equal, exit);
2006 Label exit;
2008 TestSmiShiftLogicalRight(masm, &exit, 0x10, 0);
2009 TestSmiShiftLogicalRight(masm, &exit, 0x30, 1);
2010 TestSmiShiftLogicalRight(masm, &exit, 0x50, 127);
2011 TestSmiShiftLogicalRight(masm, &exit, 0x70, 65535);
2012 TestSmiShiftLogicalRight(masm, &exit, 0x90, Smi::kMaxValue);
2013 TestSmiShiftLogicalRight(masm, &exit, 0xB0, Smi::kMinValue);
2014 TestSmiShiftLogicalRight(masm, &exit, 0xD0, -1);
2017 __ bind(&exit);
2030 Label* exit,
2045 __ j(not_equal, exit);
2053 __ j(not_equal, exit);
2076 Label exit;
2078 TestSmiShiftArithmeticRight(masm, &exit, 0x10, 0);
2079 TestSmiShiftArithmeticRight(masm, &exit, 0x20, 1);
2080 TestSmiShiftArithmeticRight(masm, &exit, 0x30, 127);
2081 TestSmiShiftArithmeticRight(masm, &exit, 0x40, 65535);
2082 TestSmiShiftArithmeticRight(masm, &exit, 0x50, Smi::kMaxValue);
2083 TestSmiShiftArithmeticRight(masm, &exit, 0x60, Smi::kMinValue);
2084 TestSmiShiftArithmeticRight(masm, &exit, 0x70, -1);
2087 __ bind(&exit);
2099 void TestPositiveSmiPowerUp(MacroAssembler* masm, Label* exit, int id, int x) {
2112 __ j(not_equal, exit);
2115 __ j(not_equal, exit);
2119 __ j(not_equal, exit);
2141 Label exit;
2143 TestPositiveSmiPowerUp(masm, &exit, 0x20, 0);
2144 TestPositiveSmiPowerUp(masm, &exit, 0x40, 1);
2145 TestPositiveSmiPowerUp(masm, &exit, 0x60, 127);
2146 TestPositiveSmiPowerUp(masm, &exit, 0x80, 128);
2147 TestPositiveSmiPowerUp(masm, &exit, 0xA0, 255);
2148 TestPositiveSmiPowerUp(masm, &exit, 0xC0, 256);
2149 TestPositiveSmiPowerUp(masm, &exit, 0x100, 65535);
2150 TestPositiveSmiPowerUp(masm, &exit, 0x120, 65536);
2151 TestPositiveSmiPowerUp(masm, &exit, 0x140, Smi::kMaxValue);
2154 __ bind(&exit);
2184 Label exit;
2218 __ j(not_equal, &exit);
2225 __ j(not_equal, &exit);
2233 __ j(not_equal, &exit);
2238 __ j(not_equal, &exit);
2244 __ j(not_equal, &exit);
2252 __ j(not_equal, &exit);
2257 __ j(not_equal, &exit);
2263 __ j(not_equal, &exit);
2272 __ j(not_equal, &exit);
2278 __ j(not_equal, &exit);
2286 __ j(not_equal, &exit);
2292 __ j(not_equal, &exit);
2297 __ j(not_equal, &exit);
2305 __ j(not_equal, &exit);
2310 __ j(not_equal, &exit);
2315 __ j(not_equal, &exit);
2323 __ j(not_equal, &exit);
2328 __ j(not_equal, &exit);
2333 __ j(not_equal, &exit);
2341 __ j(not_equal, &exit);
2346 __ j(not_equal, &exit);
2352 __ j(not_equal, &exit);
2360 __ j(not_equal, &exit);
2365 __ j(not_equal, &exit);
2370 __ j(not_equal, &exit);
2378 __ j(not_equal, &exit);
2383 __ j(not_equal, &exit);
2388 __ j(not_equal, &exit);
2393 __ j(not_equal, &exit);
2398 __ j(not_equal, &exit);
2406 __ j(not_equal, &exit);
2411 __ j(not_equal, &exit);
2416 __ j(not_equal, &exit);
2421 __ j(not_equal, &exit);
2426 __ j(not_equal, &exit);
2435 __ j(not_equal, &exit);
2440 __ j(not_equal, &exit);
2445 __ j(not_equal, &exit);
2450 __ j(not_equal, &exit);
2455 __ j(not_equal, &exit);
2461 __ j(not_equal, &exit);
2466 __ j(not_equal, &exit);
2474 __ j(not_equal, &exit);
2479 __ j(not_equal, &exit);
2484 __ j(not_equal, &exit);
2489 __ j(not_equal, &exit);
2494 __ j(not_equal, &exit);
2499 __ j(not_equal, &exit);
2505 __ bind(&exit);