Lines Matching refs:VIXL_ASSERT
34 VIXL_ASSERT(*shift == -1);
44 VIXL_ASSERT(IsInt8(*imm8));
45 VIXL_ASSERT((*shift == 0) || (*shift == 8));
51 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
52 VIXL_ASSERT(addr.IsVectorPlusVector());
53 VIXL_ASSERT(
57 VIXL_ASSERT((lane_size == kSRegSize) || (lane_size == kDRegSize));
60 VIXL_ASSERT((shift_amount >= 0) && (shift_amount <= 3));
67 VIXL_ASSERT(lane_size == kDRegSize);
71 VIXL_ASSERT(lane_size == kDRegSize);
102 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
103 VIXL_ASSERT(zd.Is(zn));
108 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
117 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
118 VIXL_ASSERT(zd.Is(zn));
124 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
125 VIXL_ASSERT(zd.Is(zn));
133 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
134 VIXL_ASSERT(zd.IsLaneSizeD());
135 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
142 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
143 VIXL_ASSERT(zd.IsLaneSizeD());
144 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
151 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
152 VIXL_ASSERT(zd.IsLaneSizeD());
153 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
160 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
161 VIXL_ASSERT(zd.IsLaneSizeD());
162 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
188 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
189 VIXL_ASSERT(zd.Is(zn));
205 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
206 VIXL_ASSERT(zd.Is(zn));
207 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm) ||
227 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
228 VIXL_ASSERT(zd.Is(zn));
245 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
246 VIXL_ASSERT(zd.Is(zn));
247 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
262 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
263 VIXL_ASSERT(zd.Is(zn));
280 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
281 VIXL_ASSERT(zd.Is(zn));
282 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm) ||
302 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
303 VIXL_ASSERT(zd.Is(zn));
304 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
319 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
320 VIXL_ASSERT(zd.Is(zn));
337 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
338 VIXL_ASSERT(zd.Is(zn));
339 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm) ||
359 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
360 VIXL_ASSERT(zd.Is(zn));
361 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
369 VIXL_ASSERT((shift >= 0) && (shift < lane_size_in_bits));
375 VIXL_ASSERT((shift > 0) && (shift <= lane_size_in_bits));
390 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
391 VIXL_ASSERT(AreSameLaneSize(zd, zn));
400 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
401 VIXL_ASSERT(AreSameLaneSize(zd, zn));
402 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kDRegSizeInBytes);
408 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
417 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
418 VIXL_ASSERT(AreSameLaneSize(zd, zn));
419 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kDRegSizeInBytes);
425 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
434 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
435 VIXL_ASSERT(AreSameLaneSize(zd, zn));
436 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kDRegSizeInBytes);
467 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
468 VIXL_ASSERT(rdn.IsX()); \
487 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
510 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
511 VIXL_ASSERT(wn.IsW() && xd.Is(wn.X())); \
540 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
541 VIXL_ASSERT(zdn.GetLaneSizeInBytes() == k##T##RegSizeInBytes); \
559 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
560 VIXL_ASSERT(vd.Is(vn));
561 VIXL_ASSERT(vd.IsScalar());
562 VIXL_ASSERT(zm.GetLaneSizeInBytes() != kBRegSizeInBytes);
563 VIXL_ASSERT(AreSameLaneSize(zm, vd));
579 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
580 VIXL_ASSERT(zd.Is(zn));
581 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
582 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
596 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
597 VIXL_ASSERT(zd.Is(zn));
598 VIXL_ASSERT(AreSameLaneSize(zd, zn));
599 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
600 VIXL_ASSERT((imm == 0.5) || (imm == 1.0));
615 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
616 VIXL_ASSERT(zd.Is(zn));
617 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
618 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
632 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
633 VIXL_ASSERT(zd.Is(zn));
634 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
635 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
649 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
650 VIXL_ASSERT(zd.Is(zn));
651 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
652 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
666 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
667 VIXL_ASSERT(zd.Is(zn));
668 VIXL_ASSERT(AreSameLaneSize(zd, zn));
669 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
670 VIXL_ASSERT(((imm == 0.0) && (copysign(1.0, imm) == 1.0)) || (imm == 1.0));
685 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
686 VIXL_ASSERT(zd.Is(zn));
687 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
688 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
702 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
703 VIXL_ASSERT(zd.Is(zn));
704 VIXL_ASSERT(AreSameLaneSize(zd, zn));
705 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
706 VIXL_ASSERT(((imm == 0.0) && (copysign(1.0, imm) == 1.0)) || (imm == 1.0));
721 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
722 VIXL_ASSERT(zd.Is(zn));
723 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
724 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
738 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
739 VIXL_ASSERT(zd.Is(zn));
740 VIXL_ASSERT(AreSameLaneSize(zd, zn));
741 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
742 VIXL_ASSERT(((imm == 0.0) && (copysign(1.0, imm) == 1.0)) || (imm == 1.0));
757 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
758 VIXL_ASSERT(zd.Is(zn));
759 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
760 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
774 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
775 VIXL_ASSERT(zd.Is(zn));
776 VIXL_ASSERT(AreSameLaneSize(zd, zn));
777 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
778 VIXL_ASSERT(((imm == 0.0) && (copysign(1.0, imm) == 1.0)) || (imm == 1.0));
793 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
794 VIXL_ASSERT(zd.Is(zn));
795 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
796 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
810 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
811 VIXL_ASSERT(zd.Is(zn));
812 VIXL_ASSERT(AreSameLaneSize(zd, zn));
813 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
814 VIXL_ASSERT((imm == 0.5) || (imm == 2.0));
829 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
830 VIXL_ASSERT(zd.Is(zn));
831 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
832 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
846 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
847 VIXL_ASSERT(zd.Is(zn));
848 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
849 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
863 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
864 VIXL_ASSERT(zd.Is(zn));
865 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
866 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
880 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
881 VIXL_ASSERT(zd.Is(zn));
882 VIXL_ASSERT(AreSameLaneSize(zd, zn));
883 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
884 VIXL_ASSERT((imm == 0.5) || (imm == 1.0));
899 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
900 VIXL_ASSERT(zd.Is(zn));
901 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
902 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
916 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
917 VIXL_ASSERT(zd.Is(zn));
918 VIXL_ASSERT(AreSameLaneSize(zd, zn));
919 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
920 VIXL_ASSERT((imm == 0.5) || (imm == 1.0));
935 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
936 VIXL_ASSERT(zd.Is(zn));
937 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
938 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
952 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
953 VIXL_ASSERT(zd.Is(zn));
954 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
955 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
970 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
971 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
972 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
984 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
985 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
986 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
998 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
999 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
1000 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1012 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1013 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
1014 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1026 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1027 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
1028 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1040 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1041 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
1042 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1058 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1059 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1060 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1074 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1075 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1076 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1090 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1091 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1092 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1106 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1107 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1108 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1122 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1123 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1124 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1138 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1139 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1140 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1154 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1155 VIXL_ASSERT(AreSameLaneSize(zn, zm));
1156 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1172 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1173 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1174 VIXL_ASSERT(zero == 0.0);
1189 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1190 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1191 VIXL_ASSERT(zero == 0.0);
1206 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1207 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1208 VIXL_ASSERT(zero == 0.0);
1223 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1224 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1225 VIXL_ASSERT(zero == 0.0);
1240 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1241 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1242 VIXL_ASSERT(zero == 0.0);
1257 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1258 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1259 VIXL_ASSERT(zero == 0.0);
1277 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1278 VIXL_ASSERT(zd.Is(zn));
1279 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
1280 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1281 VIXL_ASSERT((rot == 90) || (rot == 270));
1298 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1299 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1300 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
1301 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
1315 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1316 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1317 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
1333 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1334 VIXL_ASSERT(vd.IsScalar());
1335 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1336 VIXL_ASSERT(AreSameLaneSize(zn, vd));
1348 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1349 VIXL_ASSERT(vd.IsScalar());
1350 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1351 VIXL_ASSERT(AreSameLaneSize(zn, vd));
1363 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1364 VIXL_ASSERT(vd.IsScalar());
1365 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1366 VIXL_ASSERT(AreSameLaneSize(zn, vd));
1378 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1379 VIXL_ASSERT(vd.IsScalar());
1380 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1381 VIXL_ASSERT(AreSameLaneSize(zn, vd));
1393 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1394 VIXL_ASSERT(vd.IsScalar());
1395 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1396 VIXL_ASSERT(AreSameLaneSize(zn, vd));
1411 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1412 VIXL_ASSERT(AreSameLaneSize(zdn, zm, za));
1413 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1426 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1427 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1428 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
1441 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1442 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1443 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
1456 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1457 VIXL_ASSERT(AreSameLaneSize(zdn, zm, za));
1458 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1471 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1472 VIXL_ASSERT(AreSameLaneSize(zdn, zm, za));
1473 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1486 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1487 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1488 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
1501 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1502 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1503 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
1516 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1517 VIXL_ASSERT(AreSameLaneSize(zdn, zm, za));
1518 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
1535 VIXL_ASSERT(zm.GetCode() <= 7);
1536 VIXL_ASSERT(IsUint3(index));
1575 VIXL_ASSERT(zm.IsLaneSizeS());
1596 VIXL_ASSERT(zm.IsLaneSizeS());
1611 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1612 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1630 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1631 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
1656 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1657 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
1676 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1711 VIXL_ASSERT(op != 0xffffffff);
1719 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1756 VIXL_ASSERT(op != 0xffffffff);
1764 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1801 VIXL_ASSERT(op != 0xffffffff);
1813 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1814 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1815 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1823 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1824 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1825 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1833 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1834 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1835 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1843 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1844 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1845 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1853 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1854 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1855 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1863 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1864 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1865 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1873 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1874 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1875 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1883 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1884 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1885 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1897 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1898 VIXL_ASSERT(AreSameLaneSize(zd, zn));
1899 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
1907 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1944 VIXL_ASSERT(op != 0xffffffff);
1952 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
1989 VIXL_ASSERT(op != 0xffffffff);
2001 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2002 VIXL_ASSERT(AreSameLaneSize(zd, zn));
2003 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
2013 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2014 VIXL_ASSERT(AreSameLaneSize(zd, zn));
2015 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
2028 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2029 VIXL_ASSERT(rdn.IsX());
2040 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2041 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
2042 VIXL_ASSERT(pg.IsUnqualified());
2053 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2054 VIXL_ASSERT(rdn.IsX());
2065 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2066 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
2067 VIXL_ASSERT(pg.IsUnqualified());
2081 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2082 VIXL_ASSERT(xd.IsX() && wn.IsW() && xd.Aliases(wn));
2093 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2094 VIXL_ASSERT(xdn.IsX());
2104 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2105 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
2106 VIXL_ASSERT(pg.IsUnqualified());
2120 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2121 VIXL_ASSERT(xd.IsX() && wn.IsW() && xd.Aliases(wn));
2132 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2133 VIXL_ASSERT(xdn.IsX());
2143 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2144 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
2145 VIXL_ASSERT(pg.IsUnqualified());
2157 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2168 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2169 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
2170 VIXL_ASSERT(pg.IsUnqualified());
2181 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2192 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2193 VIXL_ASSERT(zdn.GetLaneSizeInBytes() != kBRegSizeInBytes);
2194 VIXL_ASSERT(pg.IsUnqualified());
2206 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2219 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2220 VIXL_ASSERT(static_cast<unsigned>(rn.GetSizeInBits()) >=
2222 VIXL_ASSERT(static_cast<unsigned>(rm.GetSizeInBits()) >=
2233 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2234 VIXL_ASSERT(static_cast<unsigned>(rn.GetSizeInBits()) >=
2245 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2246 VIXL_ASSERT(static_cast<unsigned>(rm.GetSizeInBits()) >=
2261 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2262 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
2274 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2275 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
2287 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2288 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
2300 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2301 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
2313 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2314 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
2326 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2327 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
2343 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2344 VIXL_ASSERT(zd.Is(zn));
2345 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2359 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2360 VIXL_ASSERT(zd.Is(zn));
2361 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2375 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2376 VIXL_ASSERT(zd.Is(zn));
2377 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2391 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2392 VIXL_ASSERT(zd.Is(zn));
2393 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2407 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2408 VIXL_ASSERT(zd.Is(zn));
2409 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2423 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2424 VIXL_ASSERT(zd.Is(zn));
2425 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2439 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2440 VIXL_ASSERT(zd.Is(zn));
2441 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2455 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2456 VIXL_ASSERT(zd.Is(zn));
2457 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2458 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeD());
2472 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2473 VIXL_ASSERT(zd.Is(zn));
2474 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2475 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeD());
2489 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2490 VIXL_ASSERT(zd.Is(zn));
2491 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2505 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2506 VIXL_ASSERT(zd.Is(zn));
2507 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2521 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2522 VIXL_ASSERT(zd.Is(zn));
2523 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2537 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2538 VIXL_ASSERT(zd.Is(zn));
2539 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2553 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2554 VIXL_ASSERT(zd.Is(zn));
2555 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2569 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2570 VIXL_ASSERT(zd.Is(zn));
2571 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2585 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2586 VIXL_ASSERT(zd.Is(zn));
2587 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2588 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeD());
2602 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2603 VIXL_ASSERT(zd.Is(zn));
2604 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2605 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeD());
2619 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2620 VIXL_ASSERT(zd.Is(zn));
2621 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2635 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2636 VIXL_ASSERT(zd.Is(zn));
2637 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2651 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2652 VIXL_ASSERT(zd.Is(zn));
2653 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
2665 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2666 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
2677 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2678 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
2692 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2693 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
2707 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2708 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
2722 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2723 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
2737 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2738 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
2821 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2822 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2836 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2837 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2851 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2852 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2866 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2867 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2881 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2882 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2896 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2897 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2913 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2914 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2928 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2929 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2943 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2944 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2958 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2959 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2973 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2974 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2977 VIXL_ASSERT(zm.IsLaneSizeD());
2990 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
2991 VIXL_ASSERT(AreSameLaneSize(pd, zn));
2994 VIXL_ASSERT(zm.IsLaneSizeD());
3007 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3008 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3011 VIXL_ASSERT(zm.IsLaneSizeD());
3024 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3025 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3028 VIXL_ASSERT(zm.IsLaneSizeD());
3041 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3042 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3045 VIXL_ASSERT(zm.IsLaneSizeD());
3055 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3056 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3061 VIXL_ASSERT(zm.IsLaneSizeD());
3062 VIXL_ASSERT(!zn.IsLaneSizeD());
3071 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3072 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3077 VIXL_ASSERT(zm.IsLaneSizeD());
3078 VIXL_ASSERT(!zn.IsLaneSizeD());
3087 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3088 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3093 VIXL_ASSERT(zm.IsLaneSizeD());
3094 VIXL_ASSERT(!zn.IsLaneSizeD());
3103 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3104 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3109 VIXL_ASSERT(zm.IsLaneSizeD());
3110 VIXL_ASSERT(!zn.IsLaneSizeD());
3122 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3123 VIXL_ASSERT(AreSameLaneSize(pd, zn));
3126 VIXL_ASSERT(zm.IsLaneSizeD());
3139 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3140 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3141 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
3153 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3154 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
3155 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
3165 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3166 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3181 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3182 VIXL_ASSERT(AreSameLaneSize(zdn, zm, za));
3195 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3196 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
3209 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3210 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
3223 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3224 VIXL_ASSERT(AreSameLaneSize(zdn, zm, za));
3234 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3235 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
3236 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 4));
3237 VIXL_ASSERT(AreSameLaneSize(zm, zn));
3245 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3246 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
3247 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 4));
3248 VIXL_ASSERT(AreSameLaneSize(zm, zn));
3258 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3259 VIXL_ASSERT(vd.IsScalar());
3267 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3268 VIXL_ASSERT(vd.IsScalar());
3280 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3281 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3282 VIXL_ASSERT(pg.IsMerging() || pg.IsZeroing());
3283 VIXL_ASSERT(!pg.HasLaneSize());
3292 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3293 VIXL_ASSERT(vd.IsScalar());
3301 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3302 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kDRegSizeInBytes);
3310 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3311 VIXL_ASSERT(vd.IsScalar());
3319 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3320 VIXL_ASSERT(vd.IsScalar());
3328 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3336 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3337 VIXL_ASSERT(vd.IsScalar());
3345 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3346 VIXL_ASSERT(vd.IsScalar());
3360 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3361 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3373 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3374 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3386 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3387 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3399 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3400 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3412 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3413 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3425 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3426 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3427 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
3439 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3440 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3441 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
3453 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3454 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3466 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3467 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3479 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3480 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3481 VIXL_ASSERT(zd.GetLaneSizeInBytes() > kBRegSizeInBytes);
3493 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3494 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3495 VIXL_ASSERT(zd.GetLaneSizeInBytes() > kHRegSizeInBytes);
3507 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3508 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3509 VIXL_ASSERT(zd.GetLaneSizeInBytes() > kSRegSizeInBytes);
3521 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3522 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3523 VIXL_ASSERT(zd.GetLaneSizeInBytes() > kBRegSizeInBytes);
3535 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3536 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3537 VIXL_ASSERT(zd.GetLaneSizeInBytes() > kHRegSizeInBytes);
3549 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3550 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3551 VIXL_ASSERT(zd.GetLaneSizeInBytes() > kSRegSizeInBytes);
3566 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3567 VIXL_ASSERT(pg.IsMerging() || pg.IsZeroing());
3582 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3583 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
3597 VIXL_ASSERT(shift == -1);
3607 VIXL_ASSERT(IsUint8(imm8));
3608 VIXL_ASSERT((shift == 0) || (shift == 8));
3623 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3624 VIXL_ASSERT(zd.Is(zn));
3625 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3635 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3638 VIXL_ASSERT((shift < 8) || !zd.IsLaneSizeB());
3649 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3650 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
3662 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3663 VIXL_ASSERT(zd.Is(zn));
3664 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3675 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3676 VIXL_ASSERT(zd.Is(zn));
3677 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3688 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3689 VIXL_ASSERT(zd.Is(zn));
3690 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3704 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3705 VIXL_ASSERT(zd.Is(zn));
3706 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3720 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3721 VIXL_ASSERT(zd.Is(zn));
3722 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3736 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3737 VIXL_ASSERT(zd.Is(zn));
3738 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3752 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3753 VIXL_ASSERT(zd.Is(zn));
3754 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3765 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3766 VIXL_ASSERT(zd.Is(zn));
3767 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3778 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3779 VIXL_ASSERT(zd.Is(zn));
3780 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3794 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3795 VIXL_ASSERT(zd.Is(zn));
3796 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3810 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
3811 VIXL_ASSERT(zd.Is(zn));
3812 VIXL_ASSERT(AreSameLaneSize(zd, zn));
3825 VIXL_ASSERT(addr.IsContiguous());
3838 VIXL_ASSERT((num_regs >= 2) && (num_regs <= 4));
3852 VIXL_ASSERT(zt.GetLaneSizeInBytesLog2() >= msize_in_bytes_log2);
3856 VIXL_ASSERT(zt.GetLaneSizeInBytesLog2() != msize_in_bytes_log2);
3877 VIXL_ASSERT(!addr.GetScalarOffset().IsZero());
3890 VIXL_ASSERT(zt.GetLaneSizeInBytesLog2() >= msize_in_bytes_log2);
3894 VIXL_ASSERT(zt.GetLaneSizeInBytesLog2() != msize_in_bytes_log2);
3915 VIXL_ASSERT(!addr_scalar_plus_scalar.IsPlainScalar());
3940 VIXL_ASSERT(addr.IsScatterGather());
3941 VIXL_ASSERT(zt.IsLaneSizeS() || zt.IsLaneSizeD());
3942 VIXL_ASSERT(is_load || !is_first_fault);
3943 VIXL_ASSERT(is_load || !is_signed);
3947 VIXL_ASSERT(AreSameLaneSize(zt, addr.GetVectorBase()));
3962 VIXL_ASSERT(addr.IsScalarPlusVector());
3963 VIXL_ASSERT(AreSameLaneSize(zt, addr.GetVectorOffset()));
3966 VIXL_ASSERT((mod == SVE_UXTW) || (mod == SVE_SXTW));
3975 VIXL_ASSERT(msize_in_bytes_log2 == kHRegSizeInBytesLog2);
3982 VIXL_ASSERT(shift_amount == 2);
3983 VIXL_ASSERT(msize_in_bytes_log2 == kSRegSizeInBytesLog2);
4018 VIXL_ASSERT(shift_amount == msize_in_bytes_log2);
4047 VIXL_ASSERT(!addr.GetScalarOffset().IsZero());
4068 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4077 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4078 VIXL_ASSERT(AreConsecutive(zt1, zt2)); \
4079 VIXL_ASSERT(AreSameFormat(zt1, zt2)); \
4080 VIXL_ASSERT(zt1.IsLaneSize##LANE_SIZE()); \
4090 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4091 VIXL_ASSERT(AreConsecutive(zt1, zt2, zt3)); \
4092 VIXL_ASSERT(AreSameFormat(zt1, zt2, zt3)); \
4093 VIXL_ASSERT(zt1.IsLaneSize##LANE_SIZE()); \
4104 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4105 VIXL_ASSERT(AreConsecutive(zt1, zt2, zt3, zt4)); \
4106 VIXL_ASSERT(AreSameFormat(zt1, zt2, zt3, zt4)); \
4107 VIXL_ASSERT(zt1.IsLaneSize##LANE_SIZE()); \
4120 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4132 VIXL_ASSERT(addr.IsScalarPlusImmediate());
4133 VIXL_ASSERT(zt.GetLaneSizeInBytesLog2() >= msize_in_bytes_log2);
4137 VIXL_ASSERT(zt.GetLaneSizeInBytesLog2() != msize_in_bytes_log2);
4142 VIXL_ASSERT(imm % divisor == 0);
4159 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4171 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4182 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4190 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4202 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4213 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4221 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4229 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4230 VIXL_ASSERT(rt.IsPRegister() || rt.IsZRegister());
4231 VIXL_ASSERT(addr.IsPlainScalar() ||
4235 VIXL_ASSERT(IsInt9(imm9));
4260 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4277 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4296 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4310 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4329 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4346 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4363 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4380 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4400 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4417 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4437 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4451 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4471 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4488 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4498 VIXL_ASSERT(addr.IsVectorPlusImmediate());
4500 VIXL_ASSERT(zn.IsLaneSizeS() || zn.IsLaneSizeD());
4535 VIXL_ASSERT(addr.IsScalarPlusImmediate());
4566 VIXL_ASSERT(addr.IsScalarPlusScalar());
4571 VIXL_ASSERT(addr.GetOffsetModifier() == NO_SVE_OFFSET_MODIFIER);
4575 VIXL_ASSERT(addr.GetOffsetModifier() == SVE_LSL);
4576 VIXL_ASSERT(addr.GetShiftAmount() == kHRegSizeInBytesLog2);
4580 VIXL_ASSERT(addr.GetOffsetModifier() == SVE_LSL);
4581 VIXL_ASSERT(addr.GetShiftAmount() == kSRegSizeInBytesLog2);
4585 VIXL_ASSERT(addr.GetOffsetModifier() == SVE_LSL);
4586 VIXL_ASSERT(addr.GetShiftAmount() == kDRegSizeInBytesLog2);
4594 VIXL_ASSERT(!addr.GetScalarOffset().IsZero());
4604 VIXL_ASSERT(addr.IsScalarPlusVector());
4612 VIXL_ASSERT(addr.GetShiftAmount() == kBRegSizeInBytesLog2);
4615 VIXL_ASSERT(addr.GetShiftAmount() == kHRegSizeInBytesLog2);
4618 VIXL_ASSERT(addr.GetShiftAmount() == kSRegSizeInBytesLog2);
4621 VIXL_ASSERT(addr.GetShiftAmount() == kDRegSizeInBytesLog2);
4631 VIXL_ASSERT(zm.IsLaneSizeD());
4635 VIXL_ASSERT(mod == NO_SVE_OFFSET_MODIFIER);
4639 VIXL_ASSERT(mod == SVE_LSL);
4643 VIXL_ASSERT(mod == SVE_LSL);
4647 VIXL_ASSERT(mod == SVE_LSL);
4655 VIXL_ASSERT((mod == SVE_SXTW) || (mod == SVE_UXTW));
4656 VIXL_ASSERT(zm.IsLaneSizeS() || zm.IsLaneSizeD());
4721 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4728 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4735 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4742 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4752 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4753 VIXL_ASSERT(addr.IsScalarPlusScalar() || addr.IsScalarPlusImmediate());
4760 VIXL_ASSERT(((imm % imm_divisor) == 0) && IsInt4(imm / imm_divisor));
4771 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
4772 VIXL_ASSERT(addr.IsVectorPlusScalar());
4774 VIXL_ASSERT(zn.IsLaneSizeS() || zn.IsLaneSizeD());
4775 VIXL_ASSERT(AreSameLaneSize(zn, zt));
4791 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
4792 VIXL_ASSERT(addr.IsVectorPlusScalar());
4794 VIXL_ASSERT(zn.IsLaneSizeS() || zn.IsLaneSizeD());
4795 VIXL_ASSERT(AreSameLaneSize(zn, zt));
4818 VIXL_ASSERT((BYTES == 16) || \
4820 VIXL_ASSERT(addr.IsScalarPlusImmediate() || addr.IsEquivalentToLSL(SH)); \
4821 VIXL_ASSERT(zt.IsLaneSize##SZ()); \
4832 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4841 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
4849 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4850 VIXL_ASSERT(addr.IsPlainRegister() ||
4865 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4866 VIXL_ASSERT(addr.IsPlainRegister() ||
4881 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4882 VIXL_ASSERT(addr.IsPlainRegister() ||
4897 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4898 VIXL_ASSERT(addr.IsPlainRegister() ||
4913 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4914 VIXL_ASSERT(addr.IsPlainRegister() ||
4929 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4930 VIXL_ASSERT(addr.IsPlainRegister() ||
4945 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
4946 VIXL_ASSERT(addr.IsPlainRegister() ||
4961 VIXL_ASSERT(addr.IsPlainScalar() ||
4979 VIXL_ASSERT(addr.IsPlainScalar() ||
4997 VIXL_ASSERT(addr.IsPlainScalar() ||
5015 VIXL_ASSERT(addr.IsPlainScalar() ||
5033 VIXL_ASSERT(addr.IsVectorPlusScalar() && CPUHas(CPUFeatures::kSVE2));
5040 VIXL_ASSERT(addr.IsVectorPlusScalar() && CPUHas(CPUFeatures::kSVE2));
5047 VIXL_ASSERT(addr.IsVectorPlusScalar() && CPUHas(CPUFeatures::kSVE2));
5055 VIXL_ASSERT((num_regs >= 1) && (num_regs <= 4));
5059 VIXL_ASSERT((addr.GetImmediateOffset() == 0) || addr.IsMulVl());
5061 VIXL_ASSERT((imm % num_regs) == 0);
5065 VIXL_ASSERT(addr.GetScalarOffset().IsZero() ||
5072 VIXL_ASSERT(num_regs == 1);
5073 VIXL_ASSERT(zn.IsLaneSizeS() || zn.IsLaneSizeD());
5074 VIXL_ASSERT(IsMultiple(imm, (1 << msize_in_bytes_log2)));
5077 VIXL_ASSERT(addr.GetOffsetModifier() == NO_SVE_OFFSET_MODIFIER);
5078 VIXL_ASSERT(addr.GetShiftAmount() == 0);
5080 VIXL_ASSERT(zn.IsLaneSizeS() || zn.IsLaneSizeD());
5091 VIXL_ASSERT(num_regs == 1);
5095 VIXL_ASSERT(zm.IsLaneSizeD());
5096 VIXL_ASSERT(addr.GetShiftAmount() == msize_in_bytes_log2);
5099 VIXL_ASSERT(zm.IsLaneSizeD());
5100 VIXL_ASSERT(addr.GetShiftAmount() == 0);
5106 VIXL_ASSERT(zm.IsLaneSizeS() || zm.IsLaneSizeD());
5107 VIXL_ASSERT((mod == SVE_SXTW) || (mod == SVE_UXTW));
5108 VIXL_ASSERT((addr.GetShiftAmount() == 0) ||
5129 VIXL_ASSERT(!addr.GetScalarOffset().IsZero());
5164 VIXL_ASSERT(!addr.GetScalarOffset().IsZero());
5183 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
5192 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
5193 VIXL_ASSERT(AreConsecutive(zt1, zt2)); \
5194 VIXL_ASSERT(AreSameFormat(zt1, zt2)); \
5195 VIXL_ASSERT(zt1.IsLaneSize##LANE_SIZE()); \
5205 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
5206 VIXL_ASSERT(AreConsecutive(zt1, zt2, zt3)); \
5207 VIXL_ASSERT(AreSameFormat(zt1, zt2, zt3)); \
5208 VIXL_ASSERT(zt1.IsLaneSize##LANE_SIZE()); \
5219 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE)); \
5220 VIXL_ASSERT(AreConsecutive(zt1, zt2, zt3, zt4)); \
5221 VIXL_ASSERT(AreSameFormat(zt1, zt2, zt3, zt4)); \
5222 VIXL_ASSERT(zt1.IsLaneSize##LANE_SIZE()); \
5234 VIXL_ASSERT(addr.IsPlainScalar() ||
5252 VIXL_ASSERT(addr.IsPlainScalar() ||
5270 VIXL_ASSERT(addr.IsPlainScalar() ||
5288 VIXL_ASSERT(addr.IsPlainScalar() ||
5306 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5307 VIXL_ASSERT(rt.IsPRegister() || rt.IsZRegister());
5308 VIXL_ASSERT(addr.IsPlainScalar() ||
5312 VIXL_ASSERT(IsInt9(imm9));
5329 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5330 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 4));
5331 VIXL_ASSERT(AreSameLaneSize(zn, zm));
5336 VIXL_ASSERT(IsUint2(index));
5340 VIXL_ASSERT(IsUint1(index));
5355 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5356 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 4));
5357 VIXL_ASSERT(AreSameLaneSize(zn, zm));
5362 VIXL_ASSERT(IsUint2(index));
5366 VIXL_ASSERT(IsUint1(index));
5382 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5383 VIXL_ASSERT(pg.IsMerging() || pg.IsZeroing());
5384 VIXL_ASSERT(pd.IsLaneSizeB() && pn.IsLaneSizeB());
5393 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5394 VIXL_ASSERT(pd.IsLaneSizeB() && pn.IsLaneSizeB());
5402 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5403 VIXL_ASSERT(pg.IsMerging() || pg.IsZeroing());
5404 VIXL_ASSERT(pd.IsLaneSizeB() && pn.IsLaneSizeB());
5413 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5414 VIXL_ASSERT(pd.IsLaneSizeB() && pn.IsLaneSizeB());
5424 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5425 VIXL_ASSERT(pd.IsLaneSizeB() && pn.IsLaneSizeB());
5426 VIXL_ASSERT(pd.Is(pm));
5436 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5437 VIXL_ASSERT(pd.IsLaneSizeB() && pn.IsLaneSizeB());
5438 VIXL_ASSERT(pd.Is(pm));
5451 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5452 VIXL_ASSERT(pd.IsLaneSizeH());
5453 VIXL_ASSERT(pn.IsLaneSizeB());
5464 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5465 VIXL_ASSERT(pd.IsLaneSizeH());
5466 VIXL_ASSERT(pn.IsLaneSizeB());
5477 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5478 VIXL_ASSERT(AreSameLaneSize(pd, pn));
5490 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5491 VIXL_ASSERT(AreSameLaneSize(pd, pn, pm));
5503 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5504 VIXL_ASSERT(AreSameLaneSize(pd, pn, pm));
5516 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5517 VIXL_ASSERT(AreSameLaneSize(pd, pn, pm));
5529 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5530 VIXL_ASSERT(AreSameLaneSize(pd, pn, pm));
5542 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5543 VIXL_ASSERT(AreSameLaneSize(pd, pn, pm));
5555 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5556 VIXL_ASSERT(AreSameLaneSize(pd, pn, pm));
5575 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5576 VIXL_ASSERT(IsUint8(offset));
5587 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2) && AreConsecutive(zn, zm));
5604 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5605 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5617 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5618 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5630 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5631 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5643 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5644 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5656 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5657 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5669 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5670 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5686 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5687 VIXL_ASSERT(rd.Is(rn));
5701 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5702 VIXL_ASSERT(vd.Is(vn));
5703 VIXL_ASSERT(vd.IsScalar());
5704 VIXL_ASSERT(AreSameLaneSize(vd, zm));
5718 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5719 VIXL_ASSERT(zd.Is(zn));
5720 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5734 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5735 VIXL_ASSERT(rd.Is(rn));
5749 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5750 VIXL_ASSERT(vd.Is(vn));
5751 VIXL_ASSERT(vd.IsScalar());
5752 VIXL_ASSERT(AreSameLaneSize(vd, zm));
5766 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5767 VIXL_ASSERT(zd.Is(zn));
5768 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5780 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5781 VIXL_ASSERT(AreSameLaneSize(zd, zn));
5782 VIXL_ASSERT((zd.GetLaneSizeInBits() == kSRegSize) ||
5796 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5797 VIXL_ASSERT(static_cast<unsigned>(rn.GetSizeInBits()) >=
5810 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5811 VIXL_ASSERT(vn.IsScalar());
5812 VIXL_ASSERT(static_cast<unsigned>(vn.GetSizeInBits()) ==
5825 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5837 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5838 VIXL_ASSERT(vd.IsScalar());
5850 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5862 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5863 VIXL_ASSERT(vd.IsScalar());
5875 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5876 VIXL_ASSERT(AreSameLaneSize(zd, zn));
5888 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5889 VIXL_ASSERT(AreSameLaneSize(zd, zn));
5890 VIXL_ASSERT(zd.IsLaneSizeH() || zd.IsLaneSizeS() || zd.IsLaneSizeD());
5902 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5903 VIXL_ASSERT(AreSameLaneSize(zd, zn));
5904 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeD());
5916 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5917 VIXL_ASSERT(AreSameLaneSize(zd, zn));
5918 VIXL_ASSERT(zd.IsLaneSizeD());
5927 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
5935 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5936 VIXL_ASSERT(zd.Is(zn));
5953 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
5954 VIXL_ASSERT(AreConsecutive(zn1, zn2));
5955 VIXL_ASSERT(AreSameLaneSize(zd, zn1, zn2));
5967 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5977 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
5978 VIXL_ASSERT(AreSameFormat(zd, zn));
5979 VIXL_ASSERT((index * zd.GetLaneSizeInBits()) < 512);
5982 VIXL_ASSERT(IsUint7(imm_7));
5995 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6005 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6006 VIXL_ASSERT(vm.IsScalar());
6016 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6017 VIXL_ASSERT(AreSameFormat(zd, zn));
6027 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6028 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
6029 VIXL_ASSERT(!zd.IsLaneSizeB());
6039 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6040 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
6041 VIXL_ASSERT(!zd.IsLaneSizeB());
6053 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6054 VIXL_ASSERT(AreSameFormat(zd, zn, zm));
6064 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6065 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
6066 VIXL_ASSERT(!zd.IsLaneSizeB());
6076 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6077 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
6078 VIXL_ASSERT(!zd.IsLaneSizeB());
6092 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6093 VIXL_ASSERT(xd.IsX());
6094 VIXL_ASSERT(pg.IsUnqualified());
6095 if (pg.HasLaneSize()) VIXL_ASSERT(AreSameFormat(pg, pn));
6105 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6106 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6107 VIXL_ASSERT(pd.IsLaneSizeB());
6115 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6116 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6117 VIXL_ASSERT(pd.IsLaneSizeB());
6125 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6126 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6127 VIXL_ASSERT(pd.IsLaneSizeB());
6135 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6136 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6137 VIXL_ASSERT(pd.IsLaneSizeB());
6145 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6146 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6147 VIXL_ASSERT(pd.IsLaneSizeB());
6155 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6156 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6157 VIXL_ASSERT(pd.IsLaneSizeB());
6165 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6166 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6167 VIXL_ASSERT(pd.IsLaneSizeB());
6175 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6176 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6177 VIXL_ASSERT(pd.IsLaneSizeB());
6185 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6186 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6187 VIXL_ASSERT(pd.IsLaneSizeB());
6195 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6196 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6197 VIXL_ASSERT(pd.IsLaneSizeB());
6205 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6206 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6207 VIXL_ASSERT(pd.IsLaneSizeB());
6215 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6216 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6217 VIXL_ASSERT(pd.IsLaneSizeB());
6225 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6226 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6227 VIXL_ASSERT(pd.IsLaneSizeB());
6235 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6236 VIXL_ASSERT(AreSameFormat(pd, pn, pm));
6237 VIXL_ASSERT(pd.IsLaneSizeB());
6245 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6256 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6270 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6271 VIXL_ASSERT(pd.Is(pn));
6272 VIXL_ASSERT(pd.IsLaneSizeB());
6285 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6286 VIXL_ASSERT(pd.Is(pn));
6296 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6297 VIXL_ASSERT(pn.IsLaneSizeB());
6307 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6317 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6327 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6337 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6347 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6363 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6377 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6391 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6405 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6417 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6418 VIXL_ASSERT(xd.IsX());
6419 VIXL_ASSERT(xn.IsX());
6429 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6430 VIXL_ASSERT(xd.IsX());
6431 VIXL_ASSERT(xn.IsX());
6443 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6444 VIXL_ASSERT(xd.IsX());
6455 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6456 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6468 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6478 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6516 VIXL_ASSERT((!pd.HasLaneSize() && !pn.HasLaneSize()) ||
6524 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6531 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6539 VIXL_ASSERT(pg.IsMerging() || pg.IsZeroing());
6546 VIXL_ASSERT(vn.IsScalar());
6547 VIXL_ASSERT(AreSameLaneSize(zd, vn));
6552 VIXL_ASSERT(AreSameLaneSize(zd, zn));
6557 VIXL_ASSERT(AreSameLaneSize(zd, zn));
6570 VIXL_ASSERT(vn.IsScalar());
6571 VIXL_ASSERT(AreSameLaneSize(zd, vn));
6578 VIXL_ASSERT(AreSameLaneSize(zd, zn));
6594 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6601 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6608 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6615 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
6628 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6629 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
6630 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
6643 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6644 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
6645 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
6658 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6659 VIXL_ASSERT(AreSameLaneSize(zn, zm));
6660 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
6661 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
6673 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6674 VIXL_ASSERT(AreSameLaneSize(zn, zm));
6675 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
6676 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
6690 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6691 VIXL_ASSERT(zd.Is(zn));
6692 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6706 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6707 VIXL_ASSERT(zd.Is(zn));
6708 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm, zk));
6709 VIXL_ASSERT(zd.IsLaneSizeD());
6721 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6722 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEBitPerm));
6723 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6735 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6736 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEBitPerm));
6737 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6749 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6750 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEBitPerm));
6751 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6765 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6766 VIXL_ASSERT(zd.Is(zn));
6767 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm, zk));
6768 VIXL_ASSERT(zd.IsLaneSizeD());
6782 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6783 VIXL_ASSERT(zd.Is(zn));
6784 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm, zk));
6785 VIXL_ASSERT(zd.IsLaneSizeD());
6799 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6800 VIXL_ASSERT(zd.Is(zn));
6801 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm, zk));
6802 VIXL_ASSERT(zd.IsLaneSizeD());
6816 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6817 VIXL_ASSERT(zd.Is(zn));
6818 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6819 VIXL_ASSERT((rot == 90) || (rot == 270));
6834 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6835 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
6836 VIXL_ASSERT(AreSameLaneSize(zn, zm));
6837 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
6838 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 4));
6839 VIXL_ASSERT(index >= 0);
6844 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 3));
6848 VIXL_ASSERT(zm.IsLaneSizeH());
6849 VIXL_ASSERT((zm.GetCode() <= 15) && (index <= 1));
6865 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6866 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
6867 VIXL_ASSERT(AreSameLaneSize(zn, zm));
6868 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
6869 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 4));
6884 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6885 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
6886 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
6901 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6902 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
6903 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
6918 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6919 VIXL_ASSERT(zd.Is(zn));
6920 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm, zk));
6921 VIXL_ASSERT(zd.IsLaneSizeD());
6933 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6934 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6946 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6947 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6961 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6962 VIXL_ASSERT(zd.Is(zn));
6963 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
6964 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
6976 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
6982 VIXL_ASSERT(zd.IsLaneSizeS() && zn.IsLaneSizeH());
6996 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7002 VIXL_ASSERT(zd.IsLaneSizeH() && zn.IsLaneSizeS());
7015 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7016 VIXL_ASSERT(zd.IsLaneSizeS() && zn.IsLaneSizeD());
7028 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7040 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7041 VIXL_ASSERT(AreSameLaneSize(zd, zn));
7042 VIXL_ASSERT(!zd.IsLaneSizeB());
7058 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7059 VIXL_ASSERT(zd.Is(zn));
7060 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7061 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7075 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7076 VIXL_ASSERT(zd.Is(zn));
7077 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7078 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7092 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7093 VIXL_ASSERT(zd.Is(zn));
7094 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7095 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7109 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7110 VIXL_ASSERT(zd.Is(zn));
7111 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7112 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7124 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7125 VIXL_ASSERT(zda.IsLaneSizeS());
7126 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7135 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7136 VIXL_ASSERT(zda.IsLaneSizeS());
7137 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7138 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
7152 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7153 VIXL_ASSERT(zda.IsLaneSizeS());
7154 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7167 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7168 VIXL_ASSERT(zda.IsLaneSizeS());
7169 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7170 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
7184 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7185 VIXL_ASSERT(zda.IsLaneSizeS());
7186 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7199 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7200 VIXL_ASSERT(zda.IsLaneSizeS());
7201 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7202 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
7216 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7217 VIXL_ASSERT(zda.IsLaneSizeS());
7218 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7231 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7232 VIXL_ASSERT(zda.IsLaneSizeS());
7233 VIXL_ASSERT(zn.IsLaneSizeH() && zm.IsLaneSizeH());
7234 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
7249 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7250 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7251 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeD());
7263 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7264 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7265 VIXL_ASSERT(zd.IsLaneSizeB());
7278 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7279 VIXL_ASSERT(AreSameLaneSize(pd, zn, zm));
7280 VIXL_ASSERT(zm.IsLaneSizeB() || zm.IsLaneSizeH());
7293 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7294 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
7314 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7315 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
7335 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7336 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7355 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7356 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7370 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7371 VIXL_ASSERT(zd.Is(zn));
7372 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm, zk));
7373 VIXL_ASSERT(zd.IsLaneSizeD());
7386 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7387 VIXL_ASSERT(AreSameLaneSize(pd, zn, zm));
7388 VIXL_ASSERT(zm.IsLaneSizeB() || zm.IsLaneSizeH());
7400 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7412 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7413 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7414 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeS());
7415 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
7417 VIXL_ASSERT(!zd.IsLaneSizeQ());
7429 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7430 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7431 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeS());
7432 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
7434 VIXL_ASSERT(!zd.IsLaneSizeQ());
7446 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7447 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7448 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
7449 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
7461 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7462 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7463 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
7464 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
7489 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2)); \
7490 VIXL_ASSERT(!zd.IsLaneSizeD() && !zd.IsLaneSizeQ()); \
7491 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2)); \
7506 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7507 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7508 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
7509 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
7521 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7522 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7523 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
7524 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
7536 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7537 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
7549 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7550 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7551 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7552 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
7564 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7565 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7566 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7567 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
7580 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7581 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7582 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7583 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7596 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7597 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7598 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7599 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7611 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7612 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7613 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
7626 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7627 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7628 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7629 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7641 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7642 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7643 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7644 VIXL_ASSERT(zd.IsLaneSizeD() || zd.IsLaneSizeH() || zd.IsLaneSizeS());
7657 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7658 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7659 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7660 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7672 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7673 VIXL_ASSERT(AreSameLaneSize(zd, zn));
7674 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
7675 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7687 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7688 VIXL_ASSERT(AreSameLaneSize(zd, zn));
7689 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
7690 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
7702 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7703 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
7704 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
7717 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7718 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
7719 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
7734 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7735 VIXL_ASSERT(zd.Is(zn));
7736 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7750 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7751 VIXL_ASSERT(zd.Is(zn));
7752 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7766 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7767 VIXL_ASSERT(zd.Is(zn));
7768 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7778 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7779 VIXL_ASSERT(AreSameLaneSize(zd, zn));
7795 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7796 VIXL_ASSERT(zd.Is(zn));
7797 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7811 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7812 VIXL_ASSERT(zd.Is(zn));
7813 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7839 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2)); \
7840 VIXL_ASSERT(AreSameLaneSize(zn, zm)); \
7841 VIXL_ASSERT(zda.IsLaneSizeD() || zda.IsLaneSizeS()); \
7842 VIXL_ASSERT(zda.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2); \
7856 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7857 VIXL_ASSERT(!zda.IsLaneSizeB());
7858 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7859 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7871 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7872 VIXL_ASSERT(!zda.IsLaneSizeB());
7873 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7874 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7886 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7887 VIXL_ASSERT(!zda.IsLaneSizeB());
7888 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7889 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7901 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7902 VIXL_ASSERT(!zda.IsLaneSizeB());
7903 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7904 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
7916 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7917 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7929 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7930 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7931 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeQ());
7932 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
7944 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7945 VIXL_ASSERT(AreSameLaneSize(zn, zm));
7946 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeQ());
7947 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
7959 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7960 VIXL_ASSERT(AreSameLaneSize(zd, zn));
7974 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7975 VIXL_ASSERT(zd.Is(zn));
7976 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7990 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
7991 VIXL_ASSERT(zd.Is(zn));
7992 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
7993 VIXL_ASSERT((rot == 90) || (rot == 270));
8010 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8011 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8012 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
8013 VIXL_ASSERT(index >= 0);
8018 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
8023 VIXL_ASSERT(zm.IsLaneSizeS());
8024 VIXL_ASSERT((zm.GetCode() <= 15) && (index <= 3));
8039 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8040 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8041 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8042 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
8054 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8055 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8056 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8057 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
8073 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8074 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8075 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
8076 VIXL_ASSERT(index >= 0);
8081 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
8086 VIXL_ASSERT(zm.IsLaneSizeS());
8087 VIXL_ASSERT((zm.GetCode() <= 15) && (index <= 3));
8102 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8103 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8104 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8105 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
8121 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8122 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8123 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
8124 VIXL_ASSERT(index >= 0);
8129 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
8134 VIXL_ASSERT(zm.IsLaneSizeS());
8135 VIXL_ASSERT((zm.GetCode() <= 15) && (index <= 3));
8150 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8151 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8152 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8153 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
8165 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8166 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8167 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8168 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
8184 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8185 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8186 VIXL_ASSERT(zda.IsLaneSizeS() || zda.IsLaneSizeD());
8187 VIXL_ASSERT(index >= 0);
8192 VIXL_ASSERT((zm.GetCode() <= 7) && (index <= 7));
8197 VIXL_ASSERT(zm.IsLaneSizeS());
8198 VIXL_ASSERT((zm.GetCode() <= 15) && (index <= 3));
8213 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8214 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8215 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8216 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
8229 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8230 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8249 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8250 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8262 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8263 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8264 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeQ());
8265 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
8277 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8278 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8279 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeQ());
8280 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
8292 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8293 VIXL_ASSERT(AreSameLaneSize(zd, zn));
8307 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8308 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
8309 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
8324 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8325 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
8326 VIXL_ASSERT((rot == 0) || (rot == 90) || (rot == 180) || (rot == 270));
8340 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8341 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
8365 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8366 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
8379 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8380 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
8404 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8405 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
8418 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8419 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8438 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8439 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8454 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8455 VIXL_ASSERT(zd.Is(zn));
8456 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8471 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8472 VIXL_ASSERT(zd.Is(zn));
8473 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8488 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8489 VIXL_ASSERT(zd.Is(zn));
8505 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8506 VIXL_ASSERT(zd.Is(zn));
8507 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8522 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8523 VIXL_ASSERT(zd.Is(zn));
8524 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8539 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8540 VIXL_ASSERT(zd.Is(zn));
8556 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8557 VIXL_ASSERT(zd.Is(zn));
8558 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8572 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8573 VIXL_ASSERT(zd.Is(zn));
8574 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8584 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8585 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeH() || zd.IsLaneSizeB());
8586 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() / 2));
8598 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8599 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeH() || zd.IsLaneSizeB());
8600 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() / 2));
8612 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8613 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeH() || zd.IsLaneSizeB());
8614 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() / 2));
8626 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8627 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeH() || zd.IsLaneSizeB());
8628 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() / 2));
8644 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8645 VIXL_ASSERT(zd.Is(zn));
8646 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8656 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8657 VIXL_ASSERT(AreSameLaneSize(zd, zn));
8674 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8675 VIXL_ASSERT(zd.Is(zn));
8676 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8691 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8692 VIXL_ASSERT(zd.Is(zn));
8693 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8708 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8709 VIXL_ASSERT(zd.Is(zn));
8721 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8722 VIXL_ASSERT(AreSameLaneSize(zda, zn));
8734 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8735 VIXL_ASSERT(!zd.IsLaneSizeB());
8736 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8748 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8749 VIXL_ASSERT(!zd.IsLaneSizeB());
8750 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8763 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8764 VIXL_ASSERT(AreSameLaneSize(zda, zn));
8779 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8780 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8781 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8782 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
8794 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8795 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8796 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8797 VIXL_ASSERT(zd.IsLaneSizeD() || zd.IsLaneSizeH() || zd.IsLaneSizeS());
8810 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8811 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8812 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8813 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
8825 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8826 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8827 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
8828 VIXL_ASSERT(zd.IsLaneSizeD() || zd.IsLaneSizeH() || zd.IsLaneSizeS());
8840 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8841 VIXL_ASSERT(AreSameLaneSize(zd, zn));
8842 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
8843 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
8855 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8856 VIXL_ASSERT(AreSameLaneSize(zd, zn));
8857 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
8858 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
8872 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8882 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8895 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8908 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8921 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8922 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8923 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
8924 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
8936 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8937 VIXL_ASSERT(AreSameLaneSize(zn, zm));
8938 VIXL_ASSERT(zn.GetLaneSizeInBytes() == (zd.GetLaneSizeInBytes() * 2));
8939 VIXL_ASSERT(zn.GetLaneSizeInBytes() != kBRegSizeInBytes);
8953 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8954 VIXL_ASSERT(zd.Is(zn));
8955 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8969 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8970 VIXL_ASSERT(AreConsecutive(zn1, zn2));
8971 VIXL_ASSERT(AreSameLaneSize(zd, zn1, zn2, zm));
8983 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8984 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
8996 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
8997 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
9009 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9010 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9011 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9012 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
9024 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9025 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9026 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9027 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
9040 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9041 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9042 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9043 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9056 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9057 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9058 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9059 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9071 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9072 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9073 VIXL_ASSERT(zda.GetLaneSizeInBytes() != kBRegSizeInBytes);
9086 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9087 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9088 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9089 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9102 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9103 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9104 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9105 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9117 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9118 VIXL_ASSERT(AreSameLaneSize(zd, zn));
9119 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
9120 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9132 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9133 VIXL_ASSERT(AreSameLaneSize(zd, zn));
9134 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
9135 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9149 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9150 VIXL_ASSERT(zd.Is(zn));
9151 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9165 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9166 VIXL_ASSERT(zd.Is(zn));
9167 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9181 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9182 VIXL_ASSERT(zd.Is(zn));
9183 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9197 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9198 VIXL_ASSERT(zd.Is(zn));
9199 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9213 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9214 VIXL_ASSERT(zd.Is(zn));
9215 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9227 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9228 VIXL_ASSERT(!zda.IsLaneSizeB());
9229 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9230 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9242 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9243 VIXL_ASSERT(!zda.IsLaneSizeB());
9244 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9245 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9257 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9258 VIXL_ASSERT(!zda.IsLaneSizeB());
9259 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9260 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9272 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9273 VIXL_ASSERT(!zda.IsLaneSizeB());
9274 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9275 VIXL_ASSERT(zda.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9287 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9288 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9300 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9301 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9302 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeQ());
9303 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
9315 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9316 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9317 VIXL_ASSERT(!zd.IsLaneSizeB() && !zd.IsLaneSizeQ());
9318 VIXL_ASSERT(zd.GetLaneSizeInBytes() == zn.GetLaneSizeInBytes() * 2);
9332 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9333 VIXL_ASSERT(zd.Is(zn));
9334 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9349 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9350 VIXL_ASSERT(zd.Is(zn));
9351 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9366 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9367 VIXL_ASSERT(zd.Is(zn));
9368 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9383 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9384 VIXL_ASSERT(zd.Is(zn));
9400 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9401 VIXL_ASSERT(zd.Is(zn));
9402 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9417 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9418 VIXL_ASSERT(zd.Is(zn));
9419 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9433 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9434 VIXL_ASSERT(zd.Is(zn));
9435 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9449 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9450 VIXL_ASSERT(zd.Is(zn));
9451 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9461 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9462 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeH() || zd.IsLaneSizeB());
9463 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() / 2));
9475 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9476 VIXL_ASSERT(zd.IsLaneSizeS() || zd.IsLaneSizeH() || zd.IsLaneSizeB());
9477 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() / 2));
9491 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9492 VIXL_ASSERT(zd.IsLaneSizeS() && zn.IsLaneSizeS());
9506 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9507 VIXL_ASSERT(zd.Is(zn));
9508 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9523 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9524 VIXL_ASSERT(zd.Is(zn));
9525 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9540 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9541 VIXL_ASSERT(zd.Is(zn));
9542 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9557 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9558 VIXL_ASSERT(zd.Is(zn));
9571 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9572 VIXL_ASSERT(zd.IsLaneSizeS() && zn.IsLaneSizeS());
9583 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9584 VIXL_ASSERT(AreSameLaneSize(zda, zn));
9596 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9597 VIXL_ASSERT(!zd.IsLaneSizeB());
9598 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9610 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9611 VIXL_ASSERT(!zd.IsLaneSizeB());
9612 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9628 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9629 VIXL_ASSERT(zd.Is(zn));
9630 VIXL_ASSERT(AreSameLaneSize(zd, zn, zm));
9641 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9642 VIXL_ASSERT(AreSameLaneSize(zda, zn));
9657 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9658 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9659 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9660 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9673 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9674 VIXL_ASSERT(AreSameLaneSize(zn, zm));
9675 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zn.GetLaneSizeInBytes() * 2));
9676 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9688 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9689 VIXL_ASSERT(AreSameLaneSize(zd, zn));
9690 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
9691 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9703 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9704 VIXL_ASSERT(AreSameLaneSize(zd, zn));
9705 VIXL_ASSERT(zd.GetLaneSizeInBytes() == (zm.GetLaneSizeInBytes() * 2));
9706 VIXL_ASSERT(zd.GetLaneSizeInBytes() != kBRegSizeInBytes);
9719 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9720 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
9734 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9735 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
9749 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9750 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
9764 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9765 VIXL_ASSERT(AreSameSizeAndType(rn, rm));
9778 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9779 VIXL_ASSERT(rn.IsX() && rm.IsX());
9791 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9792 VIXL_ASSERT(rn.IsX() && rm.IsX());
9806 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE2));
9807 VIXL_ASSERT(zd.Is(zn));
9808 VIXL_ASSERT(AreSameLaneSize(zd, zm));
9818 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9819 VIXL_ASSERT((CPUHas(CPUFeatures::kSVEF32MM) && zda.IsLaneSizeS()) ||
9821 VIXL_ASSERT(AreSameLaneSize(zda, zn, zm));
9829 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9830 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEI8MM));
9831 VIXL_ASSERT(zda.IsLaneSizeS());
9832 VIXL_ASSERT(zn.IsLaneSizeB() && zm.IsLaneSizeB());
9840 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9841 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEI8MM));
9842 VIXL_ASSERT(zda.IsLaneSizeS());
9843 VIXL_ASSERT(zn.IsLaneSizeB() && zm.IsLaneSizeB());
9851 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9852 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEI8MM));
9853 VIXL_ASSERT(zda.IsLaneSizeS());
9854 VIXL_ASSERT(zn.IsLaneSizeB() && zm.IsLaneSizeB());
9862 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9863 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEI8MM));
9864 VIXL_ASSERT(zda.IsLaneSizeS());
9865 VIXL_ASSERT(zn.IsLaneSizeB() && zm.IsLaneSizeB());
9874 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9875 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEI8MM));
9876 VIXL_ASSERT(zda.IsLaneSizeS());
9877 VIXL_ASSERT(zn.IsLaneSizeB() && zm.IsLaneSizeB());
9878 VIXL_ASSERT(zm.GetCode() <= 7);
9879 VIXL_ASSERT(IsUint2(index));
9888 VIXL_ASSERT(CPUHas(CPUFeatures::kSVE));
9889 VIXL_ASSERT(CPUHas(CPUFeatures::kSVEI8MM));
9890 VIXL_ASSERT(zda.IsLaneSizeS());
9891 VIXL_ASSERT(zn.IsLaneSizeB() && zm.IsLaneSizeB());
9892 VIXL_ASSERT(zm.GetCode() <= 7);
9893 VIXL_ASSERT(IsUint2(index));