< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java

Print this page
rev 52233 : Add scalable shapes for Arm Scalable Vector Extension.
Summary: Add scalable vector shapes to support Arm SVE better.
Reviewed-by: duke


1443                     (s, v) -> (Short512Vector) s.reshape(v)
1444                 );
1445             } else if (o.bitSize() == 256) {
1446                 Short256Vector so = (Short256Vector)o;
1447                 return VectorIntrinsics.reinterpret(
1448                     Short256Vector.class,
1449                     short.class, so.length(),
1450                     short.class, LENGTH,
1451                     so, this,
1452                     (s, v) -> (Short512Vector) s.reshape(v)
1453                 );
1454             } else if (o.bitSize() == 512) {
1455                 Short512Vector so = (Short512Vector)o;
1456                 return VectorIntrinsics.reinterpret(
1457                     Short512Vector.class,
1458                     short.class, so.length(),
1459                     short.class, LENGTH,
1460                     so, this,
1461                     (s, v) -> (Short512Vector) s.reshape(v)
1462                 );


1463             } else {
1464                 throw new InternalError("Unimplemented size");
1465             }
1466         }
1467     }
1468 }


1443                     (s, v) -> (Short512Vector) s.reshape(v)
1444                 );
1445             } else if (o.bitSize() == 256) {
1446                 Short256Vector so = (Short256Vector)o;
1447                 return VectorIntrinsics.reinterpret(
1448                     Short256Vector.class,
1449                     short.class, so.length(),
1450                     short.class, LENGTH,
1451                     so, this,
1452                     (s, v) -> (Short512Vector) s.reshape(v)
1453                 );
1454             } else if (o.bitSize() == 512) {
1455                 Short512Vector so = (Short512Vector)o;
1456                 return VectorIntrinsics.reinterpret(
1457                     Short512Vector.class,
1458                     short.class, so.length(),
1459                     short.class, LENGTH,
1460                     so, this,
1461                     (s, v) -> (Short512Vector) s.reshape(v)
1462                 );
1463             } else if ((o.bitSize() <= 2048) && (o.bitSize() % 128 == 0)) {
1464                 throw new InternalError("Resize to scalable shape unimplemented.");
1465             } else {
1466                 throw new InternalError("Unimplemented size");
1467             }
1468         }
1469     }
1470 }
< prev index next >