--- old/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java 2019-04-16 10:39:35.223014100 -0700 +++ new/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java 2019-04-16 10:39:34.788484000 -0700 @@ -38,7 +38,7 @@ @SuppressWarnings("cast") final class Long64Vector extends LongVector { - private static final Species SPECIES = LongVector.SPECIES_64; + private static final VectorSpecies SPECIES = LongVector.SPECIES_64; static final Long64Vector ZERO = new Long64Vector(); @@ -48,7 +48,7 @@ private static final IntVector.IntSpecies INDEX_SPECIES; static { - INDEX_SPECIES = (IntVector.IntSpecies) IntVector.species(Shape.S_64_BIT); + INDEX_SPECIES = (IntVector.IntSpecies) IntVector.species(VectorShape.S_64_BIT); } private final long[] vec; // Don't access directly, use getElements() instead. @@ -81,7 +81,7 @@ } @Override - Long64Vector uOp(Mask o, FUnOp f) { + Long64Vector uOp(VectorMask o, FUnOp f) { long[] vec = getElements(); long[] res = new long[length()]; boolean[] mbits = ((Long64Mask)o).getBits(); @@ -105,7 +105,7 @@ } @Override - Long64Vector bOp(Vector o1, Mask o2, FBinOp f) { + Long64Vector bOp(Vector o1, VectorMask o2, FBinOp f) { long[] res = new long[length()]; long[] vec1 = this.getElements(); long[] vec2 = ((Long64Vector)o1).getElements(); @@ -131,7 +131,7 @@ } @Override - Long64Vector tOp(Vector o1, Vector o2, Mask o3, FTriOp f) { + Long64Vector tOp(Vector o1, Vector o2, VectorMask o3, FTriOp f) { long[] res = new long[length()]; long[] vec1 = getElements(); long[] vec2 = ((Long64Vector)o1).getElements(); @@ -154,7 +154,7 @@ @Override @ForceInline - public Vector cast(Species s) { + public Vector cast(VectorSpecies s) { Objects.requireNonNull(s); if (s.length() != LENGTH) throw new IllegalArgumentException("Vector length this species length differ"); @@ -171,7 +171,7 @@ @SuppressWarnings("unchecked") @ForceInline - private Vector castDefault(Species s) { + private Vector castDefault(VectorSpecies s) { int limit = s.length(); Class stype = s.elementType(); @@ -180,37 +180,37 @@ for (int i = 0; i < limit; i++) { a[i] = (byte) this.get(i); } - return (Vector) ByteVector.fromArray((Species) s, a, 0); + return (Vector) ByteVector.fromArray((VectorSpecies) s, a, 0); } else if (stype == short.class) { short[] a = new short[limit]; for (int i = 0; i < limit; i++) { a[i] = (short) this.get(i); } - return (Vector) ShortVector.fromArray((Species) s, a, 0); + return (Vector) ShortVector.fromArray((VectorSpecies) s, a, 0); } else if (stype == int.class) { int[] a = new int[limit]; for (int i = 0; i < limit; i++) { a[i] = (int) this.get(i); } - return (Vector) IntVector.fromArray((Species) s, a, 0); + return (Vector) IntVector.fromArray((VectorSpecies) s, a, 0); } else if (stype == long.class) { long[] a = new long[limit]; for (int i = 0; i < limit; i++) { a[i] = (long) this.get(i); } - return (Vector) LongVector.fromArray((Species) s, a, 0); + return (Vector) LongVector.fromArray((VectorSpecies) s, a, 0); } else if (stype == float.class) { float[] a = new float[limit]; for (int i = 0; i < limit; i++) { a[i] = (float) this.get(i); } - return (Vector) FloatVector.fromArray((Species) s, a, 0); + return (Vector) FloatVector.fromArray((VectorSpecies) s, a, 0); } else if (stype == double.class) { double[] a = new double[limit]; for (int i = 0; i < limit; i++) { a[i] = (double) this.get(i); } - return (Vector) DoubleVector.fromArray((Species) s, a, 0); + return (Vector) DoubleVector.fromArray((VectorSpecies) s, a, 0); } else { throw new UnsupportedOperationException("Bad lane type for casting."); } @@ -219,11 +219,11 @@ @Override @ForceInline @SuppressWarnings("unchecked") - public Vector reinterpret(Species s) { + public Vector reinterpret(VectorSpecies s) { Objects.requireNonNull(s); if(s.elementType().equals(long.class)) { - return (Vector) reshape((Species)s); + return (Vector) reshape((VectorSpecies)s); } if(s.bitSize() == bitSize()) { return reinterpretType(s); @@ -233,7 +233,7 @@ } @ForceInline - private Vector reinterpretType(Species s) { + private Vector reinterpretType(VectorSpecies s) { Objects.requireNonNull(s); Class stype = s.elementType(); @@ -298,7 +298,7 @@ @Override @ForceInline - public LongVector reshape(Species s) { + public LongVector reshape(VectorSpecies s) { Objects.requireNonNull(s); if (s.bitSize() == 64 && (s.boxType() == Long64Vector.class)) { return VectorIntrinsics.reinterpret( @@ -361,7 +361,7 @@ @Override @ForceInline - public LongVector add(long o, Mask m) { + public LongVector add(long o, VectorMask m) { return add((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -373,7 +373,7 @@ @Override @ForceInline - public LongVector sub(long o, Mask m) { + public LongVector sub(long o, VectorMask m) { return sub((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -385,7 +385,7 @@ @Override @ForceInline - public LongVector mul(long o, Mask m) { + public LongVector mul(long o, VectorMask m) { return mul((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -403,43 +403,43 @@ @Override @ForceInline - public Mask equal(long o) { + public VectorMask equal(long o) { return equal((Long64Vector)LongVector.broadcast(SPECIES, o)); } @Override @ForceInline - public Mask notEqual(long o) { + public VectorMask notEqual(long o) { return notEqual((Long64Vector)LongVector.broadcast(SPECIES, o)); } @Override @ForceInline - public Mask lessThan(long o) { + public VectorMask lessThan(long o) { return lessThan((Long64Vector)LongVector.broadcast(SPECIES, o)); } @Override @ForceInline - public Mask lessThanEq(long o) { + public VectorMask lessThanEq(long o) { return lessThanEq((Long64Vector)LongVector.broadcast(SPECIES, o)); } @Override @ForceInline - public Mask greaterThan(long o) { + public VectorMask greaterThan(long o) { return greaterThan((Long64Vector)LongVector.broadcast(SPECIES, o)); } @Override @ForceInline - public Mask greaterThanEq(long o) { + public VectorMask greaterThanEq(long o) { return greaterThanEq((Long64Vector)LongVector.broadcast(SPECIES, o)); } @Override @ForceInline - public LongVector blend(long o, Mask m) { + public LongVector blend(long o, VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -452,7 +452,7 @@ @Override @ForceInline - public LongVector and(long o, Mask m) { + public LongVector and(long o, VectorMask m) { return and((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -464,7 +464,7 @@ @Override @ForceInline - public LongVector or(long o, Mask m) { + public LongVector or(long o, VectorMask m) { return or((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -476,7 +476,7 @@ @Override @ForceInline - public LongVector xor(long o, Mask m) { + public LongVector xor(long o, VectorMask m) { return xor((Long64Vector)LongVector.broadcast(SPECIES, o), m); } @@ -490,7 +490,7 @@ @ForceInline @Override - public Long64Vector neg(Mask m) { + public Long64Vector neg(VectorMask m) { return blend(neg(), m); } @@ -505,7 +505,7 @@ @ForceInline @Override - public Long64Vector abs(Mask m) { + public Long64Vector abs(VectorMask m) { return blend(abs(), m); } @@ -521,7 +521,7 @@ @ForceInline @Override - public Long64Vector not(Mask m) { + public Long64Vector not(VectorMask m) { return blend(not(), m); } // Binary operations @@ -539,7 +539,7 @@ @Override @ForceInline - public Long64Vector add(Vector v, Mask m) { + public Long64Vector add(Vector v, VectorMask m) { return blend(add(v), m); } @@ -556,7 +556,7 @@ @Override @ForceInline - public Long64Vector sub(Vector v, Mask m) { + public Long64Vector sub(Vector v, VectorMask m) { return blend(sub(v), m); } @@ -573,7 +573,7 @@ @Override @ForceInline - public Long64Vector mul(Vector v, Mask m) { + public Long64Vector mul(Vector v, VectorMask m) { return blend(mul(v), m); } @@ -590,7 +590,7 @@ @Override @ForceInline - public Long64Vector min(Vector v, Mask m) { + public Long64Vector min(Vector v, VectorMask m) { return blend(min(v), m); } @@ -607,7 +607,7 @@ @Override @ForceInline - public Long64Vector max(Vector v, Mask m) { + public Long64Vector max(Vector v, VectorMask m) { return blend(max(v), m); } @@ -646,19 +646,19 @@ @Override @ForceInline - public Long64Vector and(Vector v, Mask m) { + public Long64Vector and(Vector v, VectorMask m) { return blend(and(v), m); } @Override @ForceInline - public Long64Vector or(Vector v, Mask m) { + public Long64Vector or(Vector v, VectorMask m) { return blend(or(v), m); } @Override @ForceInline - public Long64Vector xor(Vector v, Mask m) { + public Long64Vector xor(Vector v, VectorMask m) { return blend(xor(v), m); } @@ -673,7 +673,7 @@ @Override @ForceInline - public Long64Vector shiftL(int s, Mask m) { + public Long64Vector shiftL(int s, VectorMask m) { return blend(shiftL(s), m); } @@ -688,7 +688,7 @@ @Override @ForceInline - public Long64Vector shiftR(int s, Mask m) { + public Long64Vector shiftR(int s, VectorMask m) { return blend(shiftR(s), m); } @@ -703,7 +703,7 @@ @Override @ForceInline - public Long64Vector aShiftR(int s, Mask m) { + public Long64Vector aShiftR(int s, VectorMask m) { return blend(aShiftR(s), m); } @@ -767,7 +767,7 @@ @Override @ForceInline - public long andAll(Mask m) { + public long andAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) -1), m).andAll(); } @@ -809,7 +809,7 @@ @Override @ForceInline - public long orAll(Mask m) { + public long orAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 0), m).orAll(); } @@ -824,45 +824,45 @@ @Override @ForceInline - public long xorAll(Mask m) { + public long xorAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 0), m).xorAll(); } @Override @ForceInline - public long addAll(Mask m) { + public long addAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 0), m).addAll(); } @Override @ForceInline - public long mulAll(Mask m) { + public long mulAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, (long) 1), m).mulAll(); } @Override @ForceInline - public long minAll(Mask m) { + public long minAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, Long.MAX_VALUE), m).minAll(); } @Override @ForceInline - public long maxAll(Mask m) { + public long maxAll(VectorMask m) { return blend((Long64Vector)LongVector.broadcast(SPECIES, Long.MIN_VALUE), m).maxAll(); } @Override @ForceInline - public Shuffle toShuffle() { + public VectorShuffle toShuffle() { long[] a = toArray(); int[] sa = new int[a.length]; for (int i = 0; i < a.length; i++) { sa[i] = (int) a[i]; } - return LongVector.shuffleFromArray(SPECIES, sa, 0); + return VectorShuffle.fromArray(SPECIES, sa, 0); } // Memory operations @@ -884,7 +884,7 @@ @Override @ForceInline - public final void intoArray(long[] a, int ax, Mask m) { + public final void intoArray(long[] a, int ax, VectorMask m) { LongVector oldVal = LongVector.fromArray(SPECIES, a, ax); LongVector newVal = oldVal.blend(this, m); newVal.intoArray(a, ax); @@ -897,7 +897,7 @@ @Override @ForceInline - public final void intoArray(long[] a, int ax, Mask m, int[] b, int iy) { + public final void intoArray(long[] a, int ax, VectorMask m, int[] b, int iy) { // @@@ This can result in out of bounds errors for unset mask lanes LongVector oldVal = LongVector.fromArray(SPECIES, a, ax, b, iy); LongVector newVal = oldVal.blend(this, m); @@ -922,7 +922,7 @@ @Override @ForceInline - public final void intoByteArray(byte[] a, int ix, Mask m) { + public final void intoByteArray(byte[] a, int ix, VectorMask m) { Long64Vector oldVal = (Long64Vector) LongVector.fromByteArray(SPECIES, a, ix); Long64Vector newVal = oldVal.blend(this, m); newVal.intoByteArray(a, ix); @@ -951,7 +951,7 @@ @Override @ForceInline - public void intoByteBuffer(ByteBuffer bb, int ix, Mask m) { + public void intoByteBuffer(ByteBuffer bb, int ix, VectorMask m) { Long64Vector oldVal = (Long64Vector) LongVector.fromByteBuffer(SPECIES, bb, ix); Long64Vector newVal = oldVal.blend(this, m); newVal.intoByteBuffer(bb, ix); @@ -1076,7 +1076,7 @@ } @Override - void forEach(Mask o, FUnCon f) { + void forEach(VectorMask o, FUnCon f) { boolean[] mbits = ((Long64Mask)o).getBits(); forEach((i, a) -> { if (mbits[i]) { f.apply(i, a); } @@ -1141,13 +1141,13 @@ @Override @ForceInline public Long64Vector rearrange(Vector v, - Shuffle s, Mask m) { + VectorShuffle s, VectorMask m) { return this.rearrange(s).blend(v.rearrange(s), m); } @Override @ForceInline - public Long64Vector rearrange(Shuffle o1) { + public Long64Vector rearrange(VectorShuffle o1) { Objects.requireNonNull(o1); Long64Shuffle s = (Long64Shuffle)o1; @@ -1162,7 +1162,7 @@ @Override @ForceInline - public Long64Vector blend(Vector o1, Mask o2) { + public Long64Vector blend(Vector o1, VectorMask o2) { Objects.requireNonNull(o1); Objects.requireNonNull(o2); Long64Vector v = (Long64Vector)o1; @@ -1246,7 +1246,7 @@ } @Override - Long64Mask bOp(Mask o, MBinOp f) { + Long64Mask bOp(VectorMask o, MBinOp f) { boolean[] res = new boolean[species().length()]; boolean[] bits = getBits(); boolean[] mbits = ((Long64Mask)o).getBits(); @@ -1257,7 +1257,7 @@ } @Override - public Species species() { + public VectorSpecies species() { return SPECIES; } @@ -1276,23 +1276,23 @@ @Override @ForceInline @SuppressWarnings("unchecked") - public Mask cast(Species species) { + public VectorMask cast(VectorSpecies species) { if (length() != species.length()) - throw new IllegalArgumentException("Mask length and species length differ"); + throw new IllegalArgumentException("VectorMask length and species length differ"); Class stype = species.elementType(); boolean [] maskArray = toArray(); if (stype == byte.class) { - return (Mask ) new Byte64Vector.Byte64Mask(maskArray); + return (VectorMask ) new Byte64Vector.Byte64Mask(maskArray); } else if (stype == short.class) { - return (Mask ) new Short64Vector.Short64Mask(maskArray); + return (VectorMask ) new Short64Vector.Short64Mask(maskArray); } else if (stype == int.class) { - return (Mask ) new Int64Vector.Int64Mask(maskArray); + return (VectorMask ) new Int64Vector.Int64Mask(maskArray); } else if (stype == long.class) { - return (Mask ) new Long64Vector.Long64Mask(maskArray); + return (VectorMask ) new Long64Vector.Long64Mask(maskArray); } else if (stype == float.class) { - return (Mask ) new Float64Vector.Float64Mask(maskArray); + return (VectorMask ) new Float64Vector.Float64Mask(maskArray); } else if (stype == double.class) { - return (Mask ) new Double64Vector.Double64Mask(maskArray); + return (VectorMask ) new Double64Vector.Double64Mask(maskArray); } else { throw new UnsupportedOperationException("Bad lane type for casting."); } @@ -1313,7 +1313,7 @@ @Override @ForceInline - public Long64Mask and(Mask o) { + public Long64Mask and(VectorMask o) { Objects.requireNonNull(o); Long64Mask m = (Long64Mask)o; return VectorIntrinsics.binaryOp(VECTOR_OP_AND, Long64Mask.class, long.class, LENGTH, @@ -1323,7 +1323,7 @@ @Override @ForceInline - public Long64Mask or(Mask o) { + public Long64Mask or(VectorMask o) { Objects.requireNonNull(o); Long64Mask m = (Long64Mask)o; return VectorIntrinsics.binaryOp(VECTOR_OP_OR, Long64Mask.class, long.class, LENGTH, @@ -1345,7 +1345,7 @@ @ForceInline public boolean allTrue() { return VectorIntrinsics.test(BT_overflow, Long64Mask.class, long.class, LENGTH, - this, LongVector.maskAllTrue(species()), + this, VectorMask.maskAllTrue(species()), (m, __) -> allTrueHelper(((Long64Mask)m).getBits())); } } @@ -1370,7 +1370,7 @@ } @Override - public Species species() { + public VectorSpecies species() { return SPECIES; } @@ -1386,30 +1386,30 @@ @Override @ForceInline @SuppressWarnings("unchecked") - public Shuffle cast(Species species) { + public VectorShuffle cast(VectorSpecies species) { if (length() != species.length()) throw new IllegalArgumentException("Shuffle length and species length differ"); Class stype = species.elementType(); int [] shuffleArray = toArray(); if (stype == byte.class) { - return (Shuffle) new Byte64Vector.Byte64Shuffle(shuffleArray); + return (VectorShuffle) new Byte64Vector.Byte64Shuffle(shuffleArray); } else if (stype == short.class) { - return (Shuffle) new Short64Vector.Short64Shuffle(shuffleArray); + return (VectorShuffle) new Short64Vector.Short64Shuffle(shuffleArray); } else if (stype == int.class) { - return (Shuffle) new Int64Vector.Int64Shuffle(shuffleArray); + return (VectorShuffle) new Int64Vector.Int64Shuffle(shuffleArray); } else if (stype == long.class) { - return (Shuffle) new Long64Vector.Long64Shuffle(shuffleArray); + return (VectorShuffle) new Long64Vector.Long64Shuffle(shuffleArray); } else if (stype == float.class) { - return (Shuffle) new Float64Vector.Float64Shuffle(shuffleArray); + return (VectorShuffle) new Float64Vector.Float64Shuffle(shuffleArray); } else if (stype == double.class) { - return (Shuffle) new Double64Vector.Double64Shuffle(shuffleArray); + return (VectorShuffle) new Double64Vector.Double64Shuffle(shuffleArray); } else { throw new UnsupportedOperationException("Bad lane type for casting."); } } @Override - public Long64Shuffle rearrange(Vector.Shuffle o) { + public Long64Shuffle rearrange(VectorShuffle o) { Long64Shuffle s = (Long64Shuffle) o; byte[] r = new byte[reorder.length]; for (int i = 0; i < reorder.length; i++) { @@ -1419,10 +1419,10 @@ } } - // Species + // VectorSpecies @Override - public Species species() { + public VectorSpecies species() { return SPECIES; } }