< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.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( Float512Vector.class, float.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( Float512Vector.class, float.class, LENGTH, ! s.vectorType(), s.elementType(), LENGTH, this, s, (species, vector) -> vector.castDefault(species) ); }
*** 299,346 **** @Override @ForceInline public FloatVector reshape(VectorSpecies<Float> s) { Objects.requireNonNull(s); ! if (s.bitSize() == 64 && (s.boxType() == Float64Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float64Vector.class, float.class, Float64Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 128 && (s.boxType() == Float128Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float128Vector.class, float.class, Float128Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 256 && (s.boxType() == Float256Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float256Vector.class, float.class, Float256Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 512 && (s.boxType() == Float512Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float512Vector.class, float.class, Float512Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); } else if ((s.bitSize() > 0) && (s.bitSize() <= 2048) ! && (s.bitSize() % 128 == 0) && (s.boxType() == FloatMaxVector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, FloatMaxVector.class, float.class, FloatMaxVector.LENGTH, --- 299,346 ---- @Override @ForceInline public FloatVector reshape(VectorSpecies<Float> s) { Objects.requireNonNull(s); ! if (s.bitSize() == 64 && (s.vectorType() == Float64Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float64Vector.class, float.class, Float64Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 128 && (s.vectorType() == Float128Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float128Vector.class, float.class, Float128Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 256 && (s.vectorType() == Float256Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float256Vector.class, float.class, Float256Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); ! } else if (s.bitSize() == 512 && (s.vectorType() == Float512Vector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, Float512Vector.class, float.class, Float512Vector.LENGTH, this, s, (species, vector) -> (FloatVector) vector.defaultReinterpret(species) ); } else if ((s.bitSize() > 0) && (s.bitSize() <= 2048) ! && (s.bitSize() % 128 == 0) && (s.vectorType() == FloatMaxVector.class)) { return VectorIntrinsics.reinterpret( Float512Vector.class, float.class, LENGTH, FloatMaxVector.class, float.class, FloatMaxVector.LENGTH,
*** 837,847 **** // Type specific horizontal reductions @Override @ForceInline ! public float addAll() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_ADD, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp((float) 0, (i, a, b) -> (float) (a + b)); --- 837,847 ---- // Type specific horizontal reductions @Override @ForceInline ! public float addLanes() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_ADD, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp((float) 0, (i, a, b) -> (float) (a + b));
*** 850,860 **** return Float.intBitsToFloat(bits); } @Override @ForceInline ! public float mulAll() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_MUL, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp((float) 1, (i, a, b) -> (float) (a * b)); --- 850,860 ---- return Float.intBitsToFloat(bits); } @Override @ForceInline ! public float mulLanes() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_MUL, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp((float) 1, (i, a, b) -> (float) (a * b));
*** 863,873 **** return Float.intBitsToFloat(bits); } @Override @ForceInline ! public float minAll() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_MIN, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp(Float.POSITIVE_INFINITY , (i, a, b) -> (float) Math.min(a, b)); --- 863,873 ---- return Float.intBitsToFloat(bits); } @Override @ForceInline ! public float minLanes() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_MIN, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp(Float.POSITIVE_INFINITY , (i, a, b) -> (float) Math.min(a, b));
*** 876,886 **** return Float.intBitsToFloat(bits); } @Override @ForceInline ! public float maxAll() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_MAX, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp(Float.NEGATIVE_INFINITY, (i, a, b) -> (float) Math.max(a, b)); --- 876,886 ---- return Float.intBitsToFloat(bits); } @Override @ForceInline ! public float maxLanes() { int bits = (int) VectorIntrinsics.reductionCoerced( VECTOR_OP_MAX, Float512Vector.class, float.class, LENGTH, this, v -> { float r = v.rOp(Float.NEGATIVE_INFINITY, (i, a, b) -> (float) Math.max(a, b));
*** 890,920 **** } @Override @ForceInline ! public float addAll(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addAll(); } @Override @ForceInline ! public float mulAll(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulAll(); } @Override @ForceInline ! public float minAll(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minAll(); } @Override @ForceInline ! public float maxAll(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxAll(); } @Override @ForceInline public VectorShuffle<Float> toShuffle() { --- 890,920 ---- } @Override @ForceInline ! public float addLanes(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, (float) 0).blend(this, m).addLanes(); } @Override @ForceInline ! public float mulLanes(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, (float) 1).blend(this, m).mulLanes(); } @Override @ForceInline ! public float minLanes(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, Float.MAX_VALUE).blend(this, m).minLanes(); } @Override @ForceInline ! public float maxLanes(VectorMask<Float> m) { ! return FloatVector.broadcast(SPECIES, Float.MIN_VALUE).blend(this, m).maxLanes(); } @Override @ForceInline public VectorShuffle<Float> toShuffle() {
*** 1165,1185 **** return new Int512Vector(res); } @Override ! public Float512Vector rotateEL(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length(); i++){ res[(j + i) % length()] = vec[i]; } return new Float512Vector(res); } @Override ! public Float512Vector rotateER(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length(); i++){ int z = i - j; if(j < 0) { --- 1165,1185 ---- return new Int512Vector(res); } @Override ! public Float512Vector rotateLanesLeft(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length(); i++){ res[(j + i) % length()] = vec[i]; } return new Float512Vector(res); } @Override ! public Float512Vector rotateLanesRight(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length(); i++){ int z = i - j; if(j < 0) {
*** 1190,1210 **** } return new Float512Vector(res); } @Override ! public Float512Vector shiftEL(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length() - j; i++) { res[i] = vec[i + j]; } return new Float512Vector(res); } @Override ! public Float512Vector shiftER(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length() - j; i++){ res[i + j] = vec[i]; } --- 1190,1210 ---- } return new Float512Vector(res); } @Override ! public Float512Vector shiftLanesLeft(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length() - j; i++) { res[i] = vec[i + j]; } return new Float512Vector(res); } @Override ! public Float512Vector shiftLanesRight(int j) { float[] vec = getElements(); float[] res = new float[length()]; for (int i = 0; i < length() - j; i++){ res[i + j] = vec[i]; }
< prev index next >