< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.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


1513                     (s, v) -> (Long512Vector) s.reshape(v)
1514                 );
1515             } else if (o.bitSize() == 256) {
1516                 Long256Vector so = (Long256Vector)o;
1517                 return VectorIntrinsics.reinterpret(
1518                     Long256Vector.class,
1519                     long.class, so.length(),
1520                     long.class, LENGTH,
1521                     so, this,
1522                     (s, v) -> (Long512Vector) s.reshape(v)
1523                 );
1524             } else if (o.bitSize() == 512) {
1525                 Long512Vector so = (Long512Vector)o;
1526                 return VectorIntrinsics.reinterpret(
1527                     Long512Vector.class,
1528                     long.class, so.length(),
1529                     long.class, LENGTH,
1530                     so, this,
1531                     (s, v) -> (Long512Vector) s.reshape(v)
1532                 );


1533             } else {
1534                 throw new InternalError("Unimplemented size");
1535             }
1536         }
1537     }
1538 }


1513                     (s, v) -> (Long512Vector) s.reshape(v)
1514                 );
1515             } else if (o.bitSize() == 256) {
1516                 Long256Vector so = (Long256Vector)o;
1517                 return VectorIntrinsics.reinterpret(
1518                     Long256Vector.class,
1519                     long.class, so.length(),
1520                     long.class, LENGTH,
1521                     so, this,
1522                     (s, v) -> (Long512Vector) s.reshape(v)
1523                 );
1524             } else if (o.bitSize() == 512) {
1525                 Long512Vector so = (Long512Vector)o;
1526                 return VectorIntrinsics.reinterpret(
1527                     Long512Vector.class,
1528                     long.class, so.length(),
1529                     long.class, LENGTH,
1530                     so, this,
1531                     (s, v) -> (Long512Vector) s.reshape(v)
1532                 );
1533             } else if ((o.bitSize() <= 2048) && (o.bitSize() % 128 == 0)) {
1534                 throw new InternalError("Resize to scalable shape unimplemented.");
1535             } else {
1536                 throw new InternalError("Unimplemented size");
1537             }
1538         }
1539     }
1540 }
< prev index next >