< prev index next >

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

Print this page
rev 55891 : 8222897: [vector] Renaming of shift, rotate operations. Few other api changes.
Summary: Renaming of shift, rotate operations. Few other api changes.
Reviewed-by: jrose, briangoetz
rev 55894 : 8222897: [vector] Renaming of shift, rotate operations. Few other api changes.
Summary: Renaming of shift, rotate operations. Few other api changes.
Reviewed-by: jrose, briangoetz

*** 161,171 **** throw new IllegalArgumentException("Vector length this species length differ"); return VectorIntrinsics.cast( Double512Vector.class, double.class, LENGTH, ! s.boxType(), s.elementType(), LENGTH, this, s, (species, vector) -> vector.castDefault(species) ); } --- 161,171 ---- throw new IllegalArgumentException("Vector length this species length differ"); return VectorIntrinsics.cast( Double512Vector.class, double.class, LENGTH, ! s.vectorType(), s.elementType(), LENGTH, this, s, (species, vector) -> vector.castDefault(species) ); }
*** 299,346 **** @Override @ForceInline public DoubleVector reshape(VectorSpecies<Double> s) { Objects.requireNonNull(s); ! if (s.bitSize() == 64 && (s.boxType() == Double64Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double64Vector.class, double.class, Double64Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 128 && (s.boxType() == Double128Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double128Vector.class, double.class, Double128Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 256 && (s.boxType() == Double256Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double256Vector.class, double.class, Double256Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 512 && (s.boxType() == Double512Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double512Vector.class, double.class, Double512Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); } else if ((s.bitSize() > 0) && (s.bitSize() <= 2048) ! && (s.bitSize() % 128 == 0) && (s.boxType() == DoubleMaxVector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, DoubleMaxVector.class, double.class, DoubleMaxVector.LENGTH, --- 299,346 ---- @Override @ForceInline public DoubleVector reshape(VectorSpecies<Double> s) { Objects.requireNonNull(s); ! if (s.bitSize() == 64 && (s.vectorType() == Double64Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double64Vector.class, double.class, Double64Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 128 && (s.vectorType() == Double128Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double128Vector.class, double.class, Double128Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 256 && (s.vectorType() == Double256Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double256Vector.class, double.class, Double256Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 512 && (s.vectorType() == Double512Vector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, Double512Vector.class, double.class, Double512Vector.LENGTH, this, s, (species, vector) -> (DoubleVector) vector.defaultReinterpret(species) ); } else if ((s.bitSize() > 0) && (s.bitSize() <= 2048) ! && (s.bitSize() % 128 == 0) && (s.vectorType() == DoubleMaxVector.class)) { return VectorIntrinsics.reinterpret( Double512Vector.class, double.class, LENGTH, DoubleMaxVector.class, double.class, DoubleMaxVector.LENGTH,
*** 837,847 **** // Type specific horizontal reductions @Override @ForceInline ! public double addAll() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_ADD, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp((double) 0, (i, a, b) -> (double) (a + b)); --- 837,847 ---- // Type specific horizontal reductions @Override @ForceInline ! public double addLanes() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_ADD, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp((double) 0, (i, a, b) -> (double) (a + b));
*** 850,860 **** return Double.longBitsToDouble(bits); } @Override @ForceInline ! public double mulAll() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_MUL, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp((double) 1, (i, a, b) -> (double) (a * b)); --- 850,860 ---- return Double.longBitsToDouble(bits); } @Override @ForceInline ! public double mulLanes() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_MUL, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp((double) 1, (i, a, b) -> (double) (a * b));
*** 863,873 **** return Double.longBitsToDouble(bits); } @Override @ForceInline ! public double minAll() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_MIN, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp(Double.POSITIVE_INFINITY , (i, a, b) -> (double) Math.min(a, b)); --- 863,873 ---- return Double.longBitsToDouble(bits); } @Override @ForceInline ! public double minLanes() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_MIN, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp(Double.POSITIVE_INFINITY , (i, a, b) -> (double) Math.min(a, b));
*** 876,886 **** return Double.longBitsToDouble(bits); } @Override @ForceInline ! public double maxAll() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_MAX, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp(Double.NEGATIVE_INFINITY, (i, a, b) -> (double) Math.max(a, b)); --- 876,886 ---- return Double.longBitsToDouble(bits); } @Override @ForceInline ! public double maxLanes() { long bits = (long) VectorIntrinsics.reductionCoerced( VECTOR_OP_MAX, Double512Vector.class, double.class, LENGTH, this, v -> { double r = v.rOp(Double.NEGATIVE_INFINITY, (i, a, b) -> (double) Math.max(a, b));
*** 890,920 **** } @Override @ForceInline ! public double addAll(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addAll(); } @Override @ForceInline ! public double mulAll(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulAll(); } @Override @ForceInline ! public double minAll(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minAll(); } @Override @ForceInline ! public double maxAll(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxAll(); } @Override @ForceInline public VectorShuffle<Double> toShuffle() { --- 890,920 ---- } @Override @ForceInline ! public double addLanes(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, (double) 0).blend(this, m).addLanes(); } @Override @ForceInline ! public double mulLanes(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, (double) 1).blend(this, m).mulLanes(); } @Override @ForceInline ! public double minLanes(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, Double.MAX_VALUE).blend(this, m).minLanes(); } @Override @ForceInline ! public double maxLanes(VectorMask<Double> m) { ! return DoubleVector.broadcast(SPECIES, Double.MIN_VALUE).blend(this, m).maxLanes(); } @Override @ForceInline public VectorShuffle<Double> toShuffle() {
*** 1165,1185 **** return new Long512Vector(res); } @Override ! public Double512Vector rotateEL(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length(); i++){ res[(j + i) % length()] = vec[i]; } return new Double512Vector(res); } @Override ! public Double512Vector rotateER(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length(); i++){ int z = i - j; if(j < 0) { --- 1165,1185 ---- return new Long512Vector(res); } @Override ! public Double512Vector rotateLanesLeft(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length(); i++){ res[(j + i) % length()] = vec[i]; } return new Double512Vector(res); } @Override ! public Double512Vector rotateLanesRight(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length(); i++){ int z = i - j; if(j < 0) {
*** 1190,1210 **** } return new Double512Vector(res); } @Override ! public Double512Vector shiftEL(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length() - j; i++) { res[i] = vec[i + j]; } return new Double512Vector(res); } @Override ! public Double512Vector shiftER(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length() - j; i++){ res[i + j] = vec[i]; } --- 1190,1210 ---- } return new Double512Vector(res); } @Override ! public Double512Vector shiftLanesLeft(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length() - j; i++) { res[i] = vec[i + j]; } return new Double512Vector(res); } @Override ! public Double512Vector shiftLanesRight(int j) { double[] vec = getElements(); double[] res = new double[length()]; for (int i = 0; i < length() - j; i++){ res[i + j] = vec[i]; }
< prev index next >