Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public Byte128Vector selectFrom(Vector<Byte> v,
public Byte128Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2) {
return (Byte128Vector)
super.selectFromTemplate((Byte128Vector) v1, (Byte128Vector) v2, true); // specialize
}

@Override
@ForceInline
public Byte128Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2, boolean wrap) {
return (Byte128Vector)
super.selectFromTemplate((Byte128Vector) v1, (Byte128Vector) v2, wrap); // specialize
super.selectFromTemplate((Byte128Vector) v1, (Byte128Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public Byte256Vector selectFrom(Vector<Byte> v,
public Byte256Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2) {
return (Byte256Vector)
super.selectFromTemplate((Byte256Vector) v1, (Byte256Vector) v2, true); // specialize
}

@Override
@ForceInline
public Byte256Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2, boolean wrap) {
return (Byte256Vector)
super.selectFromTemplate((Byte256Vector) v1, (Byte256Vector) v2, wrap); // specialize
super.selectFromTemplate((Byte256Vector) v1, (Byte256Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public Byte512Vector selectFrom(Vector<Byte> v,
public Byte512Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2) {
return (Byte512Vector)
super.selectFromTemplate((Byte512Vector) v1, (Byte512Vector) v2, true); // specialize
}

@Override
@ForceInline
public Byte512Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2, boolean wrap) {
return (Byte512Vector)
super.selectFromTemplate((Byte512Vector) v1, (Byte512Vector) v2, wrap); // specialize
super.selectFromTemplate((Byte512Vector) v1, (Byte512Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public Byte64Vector selectFrom(Vector<Byte> v,
public Byte64Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2) {
return (Byte64Vector)
super.selectFromTemplate((Byte64Vector) v1, (Byte64Vector) v2, true); // specialize
}

@Override
@ForceInline
public Byte64Vector selectFrom(Vector<Byte> v1,
Vector<Byte> v2, boolean wrap) {
return (Byte64Vector)
super.selectFromTemplate((Byte64Vector) v1, (Byte64Vector) v2, wrap); // specialize
super.selectFromTemplate((Byte64Vector) v1, (Byte64Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public ByteMaxVector selectFrom(Vector<Byte> v,
public ByteMaxVector selectFrom(Vector<Byte> v1,
Vector<Byte> v2) {
return (ByteMaxVector)
super.selectFromTemplate((ByteMaxVector) v1, (ByteMaxVector) v2, true); // specialize
}

@Override
@ForceInline
public ByteMaxVector selectFrom(Vector<Byte> v1,
Vector<Byte> v2, boolean wrap) {
return (ByteMaxVector)
super.selectFromTemplate((ByteMaxVector) v1, (ByteMaxVector) v2, wrap); // specialize
super.selectFromTemplate((ByteMaxVector) v1, (ByteMaxVector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2581,22 +2581,11 @@ IndexOutOfBoundsException checkIndexFailed(Vector<?> vix, int length) {
public abstract
ByteVector selectFrom(Vector<Byte> v1, Vector<Byte> v2);

/**
* {@inheritDoc} <!--workaround-->
*/
@Override
public abstract
ByteVector selectFrom(Vector<Byte> v1, Vector<Byte> v2, boolean wrap);

/*package-private*/
@ForceInline
final ByteVector selectFromTemplate(ByteVector v1, ByteVector v2, boolean wrap) {
final ByteVector selectFromTemplate(ByteVector v1, ByteVector v2) {
int twovectorlen = length() * 2;
ByteVector wrapped_indexes = this;
if (!wrap && this.compare(VectorOperators.UNSIGNED_GT, twovectorlen - 1).anyTrue()) {
throw checkIndexFailed(this, twovectorlen);
}
wrapped_indexes = this.lanewise(VectorOperators.AND, twovectorlen - 1);
ByteVector wrapped_indexes = this.lanewise(VectorOperators.AND, twovectorlen - 1);
return (ByteVector)VectorSupport.selectFromTwoVectorOp(getClass(), byte.class, length(), wrapped_indexes, v1, v2,
(vec1, vec2, vec3) -> {
return vec2.rearrange(vec1.toShuffle(), vec3);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Double128Vector selectFrom(Vector<Double> v,
public Double128Vector selectFrom(Vector<Double> v1,
Vector<Double> v2) {
return (Double128Vector)
super.selectFromTemplate((Double128Vector) v1, (Double128Vector) v2, true); // specialize
}

@Override
@ForceInline
public Double128Vector selectFrom(Vector<Double> v1,
Vector<Double> v2, boolean wrap) {
return (Double128Vector)
super.selectFromTemplate((Double128Vector) v1, (Double128Vector) v2, wrap); // specialize
super.selectFromTemplate((Double128Vector) v1, (Double128Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Double256Vector selectFrom(Vector<Double> v,
public Double256Vector selectFrom(Vector<Double> v1,
Vector<Double> v2) {
return (Double256Vector)
super.selectFromTemplate((Double256Vector) v1, (Double256Vector) v2, true); // specialize
}

@Override
@ForceInline
public Double256Vector selectFrom(Vector<Double> v1,
Vector<Double> v2, boolean wrap) {
return (Double256Vector)
super.selectFromTemplate((Double256Vector) v1, (Double256Vector) v2, wrap); // specialize
super.selectFromTemplate((Double256Vector) v1, (Double256Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Double512Vector selectFrom(Vector<Double> v,
public Double512Vector selectFrom(Vector<Double> v1,
Vector<Double> v2) {
return (Double512Vector)
super.selectFromTemplate((Double512Vector) v1, (Double512Vector) v2, true); // specialize
}

@Override
@ForceInline
public Double512Vector selectFrom(Vector<Double> v1,
Vector<Double> v2, boolean wrap) {
return (Double512Vector)
super.selectFromTemplate((Double512Vector) v1, (Double512Vector) v2, wrap); // specialize
super.selectFromTemplate((Double512Vector) v1, (Double512Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Double64Vector selectFrom(Vector<Double> v,
public Double64Vector selectFrom(Vector<Double> v1,
Vector<Double> v2) {
return (Double64Vector)
super.selectFromTemplate((Double64Vector) v1, (Double64Vector) v2, true); // specialize
}

@Override
@ForceInline
public Double64Vector selectFrom(Vector<Double> v1,
Vector<Double> v2, boolean wrap) {
return (Double64Vector)
super.selectFromTemplate((Double64Vector) v1, (Double64Vector) v2, wrap); // specialize
super.selectFromTemplate((Double64Vector) v1, (Double64Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public DoubleMaxVector selectFrom(Vector<Double> v,
public DoubleMaxVector selectFrom(Vector<Double> v1,
Vector<Double> v2) {
return (DoubleMaxVector)
super.selectFromTemplate((DoubleMaxVector) v1, (DoubleMaxVector) v2, true); // specialize
}

@Override
@ForceInline
public DoubleMaxVector selectFrom(Vector<Double> v1,
Vector<Double> v2, boolean wrap) {
return (DoubleMaxVector)
super.selectFromTemplate((DoubleMaxVector) v1, (DoubleMaxVector) v2, wrap); // specialize
super.selectFromTemplate((DoubleMaxVector) v1, (DoubleMaxVector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2423,29 +2423,15 @@ IndexOutOfBoundsException checkIndexFailed(Vector<?> vix, int length) {
public abstract
DoubleVector selectFrom(Vector<Double> v1, Vector<Double> v2);

/**
* {@inheritDoc} <!--workaround-->
*/
@Override
public abstract
DoubleVector selectFrom(Vector<Double> v1, Vector<Double> v2, boolean wrap);

/*package-private*/
@ForceInline
final DoubleVector selectFromTemplate(DoubleVector v1, DoubleVector v2, boolean wrap) {
final DoubleVector selectFromTemplate(DoubleVector v1, DoubleVector v2) {
int twovectorlen = length() * 2;
DoubleVector wrapped_indexes = this;
if (!wrap &&
(!this.test(VectorOperators.IS_FINITE).allTrue() ||
this.compare(VectorOperators.LT, 0)
.or(this.compare(VectorOperators.GE, twovectorlen)).anyTrue())) {
throw checkIndexFailed(this, twovectorlen);
}
wrapped_indexes = wrapped_indexes.convert(VectorOperators.D2I, 0)
.lanewise(VectorOperators.AND, twovectorlen - 1)
.reinterpretAsInts()
.convert(VectorOperators.I2D, 0)
.reinterpretAsDoubles();
DoubleVector wrapped_indexes = this.convert(VectorOperators.D2I, 0)
.lanewise(VectorOperators.AND, twovectorlen - 1)
.reinterpretAsInts()
.convert(VectorOperators.I2D, 0)
.reinterpretAsDoubles();
return (DoubleVector)VectorSupport.selectFromTwoVectorOp(getClass(), double.class, length(), wrapped_indexes, v1, v2,
(vec1, vec2, vec3) -> {
return vec2.rearrange(vec1.toShuffle(), vec3);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Float128Vector selectFrom(Vector<Float> v,
public Float128Vector selectFrom(Vector<Float> v1,
Vector<Float> v2) {
return (Float128Vector)
super.selectFromTemplate((Float128Vector) v1, (Float128Vector) v2, true); // specialize
}

@Override
@ForceInline
public Float128Vector selectFrom(Vector<Float> v1,
Vector<Float> v2, boolean wrap) {
return (Float128Vector)
super.selectFromTemplate((Float128Vector) v1, (Float128Vector) v2, wrap); // specialize
super.selectFromTemplate((Float128Vector) v1, (Float128Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Float256Vector selectFrom(Vector<Float> v,
public Float256Vector selectFrom(Vector<Float> v1,
Vector<Float> v2) {
return (Float256Vector)
super.selectFromTemplate((Float256Vector) v1, (Float256Vector) v2, true); // specialize
}

@Override
@ForceInline
public Float256Vector selectFrom(Vector<Float> v1,
Vector<Float> v2, boolean wrap) {
return (Float256Vector)
super.selectFromTemplate((Float256Vector) v1, (Float256Vector) v2, wrap); // specialize
super.selectFromTemplate((Float256Vector) v1, (Float256Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Float512Vector selectFrom(Vector<Float> v,
public Float512Vector selectFrom(Vector<Float> v1,
Vector<Float> v2) {
return (Float512Vector)
super.selectFromTemplate((Float512Vector) v1, (Float512Vector) v2, true); // specialize
}

@Override
@ForceInline
public Float512Vector selectFrom(Vector<Float> v1,
Vector<Float> v2, boolean wrap) {
return (Float512Vector)
super.selectFromTemplate((Float512Vector) v1, (Float512Vector) v2, wrap); // specialize
super.selectFromTemplate((Float512Vector) v1, (Float512Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public Float64Vector selectFrom(Vector<Float> v,
public Float64Vector selectFrom(Vector<Float> v1,
Vector<Float> v2) {
return (Float64Vector)
super.selectFromTemplate((Float64Vector) v1, (Float64Vector) v2, true); // specialize
}

@Override
@ForceInline
public Float64Vector selectFrom(Vector<Float> v1,
Vector<Float> v2, boolean wrap) {
return (Float64Vector)
super.selectFromTemplate((Float64Vector) v1, (Float64Vector) v2, wrap); // specialize
super.selectFromTemplate((Float64Vector) v1, (Float64Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,15 +498,7 @@ public FloatMaxVector selectFrom(Vector<Float> v,
public FloatMaxVector selectFrom(Vector<Float> v1,
Vector<Float> v2) {
return (FloatMaxVector)
super.selectFromTemplate((FloatMaxVector) v1, (FloatMaxVector) v2, true); // specialize
}

@Override
@ForceInline
public FloatMaxVector selectFrom(Vector<Float> v1,
Vector<Float> v2, boolean wrap) {
return (FloatMaxVector)
super.selectFromTemplate((FloatMaxVector) v1, (FloatMaxVector) v2, wrap); // specialize
super.selectFromTemplate((FloatMaxVector) v1, (FloatMaxVector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2435,29 +2435,15 @@ IndexOutOfBoundsException checkIndexFailed(Vector<?> vix, int length) {
public abstract
FloatVector selectFrom(Vector<Float> v1, Vector<Float> v2);

/**
* {@inheritDoc} <!--workaround-->
*/
@Override
public abstract
FloatVector selectFrom(Vector<Float> v1, Vector<Float> v2, boolean wrap);

/*package-private*/
@ForceInline
final FloatVector selectFromTemplate(FloatVector v1, FloatVector v2, boolean wrap) {
final FloatVector selectFromTemplate(FloatVector v1, FloatVector v2) {
int twovectorlen = length() * 2;
FloatVector wrapped_indexes = this;
if (!wrap &&
(!this.test(VectorOperators.IS_FINITE).allTrue() ||
this.compare(VectorOperators.LT, 0)
.or(this.compare(VectorOperators.GE, twovectorlen)).anyTrue())) {
throw checkIndexFailed(this, twovectorlen);
}
wrapped_indexes = wrapped_indexes.convert(VectorOperators.F2I, 0)
.lanewise(VectorOperators.AND, twovectorlen - 1)
.reinterpretAsInts()
.convert(VectorOperators.I2F, 0)
.reinterpretAsFloats();
FloatVector wrapped_indexes = this.convert(VectorOperators.F2I, 0)
.lanewise(VectorOperators.AND, twovectorlen - 1)
.reinterpretAsInts()
.convert(VectorOperators.I2F, 0)
.reinterpretAsFloats();
return (FloatVector)VectorSupport.selectFromTwoVectorOp(getClass(), float.class, length(), wrapped_indexes, v1, v2,
(vec1, vec2, vec3) -> {
return vec2.rearrange(vec1.toShuffle(), vec3);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public Int128Vector selectFrom(Vector<Integer> v,
public Int128Vector selectFrom(Vector<Integer> v1,
Vector<Integer> v2) {
return (Int128Vector)
super.selectFromTemplate((Int128Vector) v1, (Int128Vector) v2, true); // specialize
}

@Override
@ForceInline
public Int128Vector selectFrom(Vector<Integer> v1,
Vector<Integer> v2, boolean wrap) {
return (Int128Vector)
super.selectFromTemplate((Int128Vector) v1, (Int128Vector) v2, wrap); // specialize
super.selectFromTemplate((Int128Vector) v1, (Int128Vector) v2); // specialize
}

@ForceInline
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,15 +511,7 @@ public Int256Vector selectFrom(Vector<Integer> v,
public Int256Vector selectFrom(Vector<Integer> v1,
Vector<Integer> v2) {
return (Int256Vector)
super.selectFromTemplate((Int256Vector) v1, (Int256Vector) v2, true); // specialize
}

@Override
@ForceInline
public Int256Vector selectFrom(Vector<Integer> v1,
Vector<Integer> v2, boolean wrap) {
return (Int256Vector)
super.selectFromTemplate((Int256Vector) v1, (Int256Vector) v2, wrap); // specialize
super.selectFromTemplate((Int256Vector) v1, (Int256Vector) v2); // specialize
}

@ForceInline
Expand Down
Loading