< prev index next >
test/jdk/jdk/incubator/vector/Short256VectorTests.java
Print this page
rev 54658 : refactored mask and shuffle creation methods, moved classes to top-level
@@ -25,12 +25,14 @@
* @test
* @modules jdk.incubator.vector
* @run testng/othervm -ea -esa Short256VectorTests
*/
-import jdk.incubator.vector.Vector.Shape;
-import jdk.incubator.vector.Vector.Species;
+import jdk.incubator.vector.VectorShape;
+import jdk.incubator.vector.VectorSpecies;
+import jdk.incubator.vector.VectorShuffle;
+import jdk.incubator.vector.VectorMask;
import jdk.incubator.vector.Vector;
import jdk.incubator.vector.ShortVector;
import org.testng.Assert;
@@ -45,11 +47,11 @@
import java.util.stream.Stream;
@Test
public class Short256VectorTests extends AbstractVectorTest {
- static final Species<Short> SPECIES =
+ static final VectorSpecies<Short> SPECIES =
ShortVector.SPECIES_256;
static final int INVOC_COUNT = Integer.getInteger("jdk.incubator.vector.test.loop-iterations", 100);
interface FUnOp {
@@ -427,11 +429,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -467,11 +469,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -509,11 +511,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -552,11 +554,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -596,11 +598,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -640,11 +642,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -701,11 +703,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
av.aShiftR((int)b[i], vmask).intoArray(r, i);
@@ -743,11 +745,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
av.shiftL((int)b[i], vmask).intoArray(r, i);
@@ -785,11 +787,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
av.shiftR((int)b[i], vmask).intoArray(r, i);
@@ -1167,11 +1169,11 @@
boolean[] mask = fm.apply(SPECIES.length());
boolean[] r = fmr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < mask.length; i += SPECIES.length()) {
- Vector.Mask<Short> vmask = ShortVector.maskFromArray(SPECIES, mask, i);
+ VectorMask<Short> vmask = VectorMask.fromArray(SPECIES, mask, i);
r[i] = vmask.anyTrue();
}
}
assertReductionBoolArraysEquals(mask, r, Short256VectorTests::anyTrue);
@@ -1193,11 +1195,11 @@
boolean[] mask = fm.apply(SPECIES.length());
boolean[] r = fmr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < mask.length; i += SPECIES.length()) {
- Vector.Mask<Short> vmask = ShortVector.maskFromArray(SPECIES, mask, i);
+ VectorMask<Short> vmask = VectorMask.fromArray(SPECIES, mask, i);
r[i] = vmask.allTrue();
}
}
assertReductionBoolArraysEquals(mask, r, Short256VectorTests::allTrue);
@@ -1226,11 +1228,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
- Vector.Mask<Short> mv = av.lessThan(bv);
+ VectorMask<Short> mv = av.lessThan(bv);
// Check results as part of computation.
for (int j = 0; j < SPECIES.length(); j++) {
Assert.assertEquals(mv.getElement(j), a[i + j] < b[i + j]);
}
@@ -1246,11 +1248,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
- Vector.Mask<Short> mv = av.greaterThan(bv);
+ VectorMask<Short> mv = av.greaterThan(bv);
// Check results as part of computation.
for (int j = 0; j < SPECIES.length(); j++) {
Assert.assertEquals(mv.getElement(j), a[i + j] > b[i + j]);
}
@@ -1266,11 +1268,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
- Vector.Mask<Short> mv = av.equal(bv);
+ VectorMask<Short> mv = av.equal(bv);
// Check results as part of computation.
for (int j = 0; j < SPECIES.length(); j++) {
Assert.assertEquals(mv.getElement(j), a[i + j] == b[i + j]);
}
@@ -1286,11 +1288,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
- Vector.Mask<Short> mv = av.notEqual(bv);
+ VectorMask<Short> mv = av.notEqual(bv);
// Check results as part of computation.
for (int j = 0; j < SPECIES.length(); j++) {
Assert.assertEquals(mv.getElement(j), a[i + j] != b[i + j]);
}
@@ -1306,11 +1308,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
- Vector.Mask<Short> mv = av.lessThanEq(bv);
+ VectorMask<Short> mv = av.lessThanEq(bv);
// Check results as part of computation.
for (int j = 0; j < SPECIES.length(); j++) {
Assert.assertEquals(mv.getElement(j), a[i + j] <= b[i + j]);
}
@@ -1326,11 +1328,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
- Vector.Mask<Short> mv = av.greaterThanEq(bv);
+ VectorMask<Short> mv = av.greaterThanEq(bv);
// Check results as part of computation.
for (int j = 0; j < SPECIES.length(); j++) {
Assert.assertEquals(mv.getElement(j), a[i + j] >= b[i + j]);
}
@@ -1348,11 +1350,11 @@
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] b = fb.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
ShortVector bv = ShortVector.fromArray(SPECIES, b, i);
@@ -1371,11 +1373,11 @@
short[] r = fr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
- av.rearrange(ShortVector.shuffleFromArray(SPECIES, order, i)).intoArray(r, i);
+ av.rearrange(VectorShuffle.fromArray(SPECIES, order, i)).intoArray(r, i);
}
}
assertRearrangeArraysEquals(a, r, order, SPECIES.length());
}
@@ -1583,11 +1585,11 @@
static void negMaskedShort256VectorTests(IntFunction<short[]> fa,
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
av.neg(vmask).intoArray(r, i);
@@ -1620,11 +1622,11 @@
static void absMaskedShort256VectorTests(IntFunction<short[]> fa,
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
av.abs(vmask).intoArray(r, i);
@@ -1662,11 +1664,11 @@
static void notMaskedShort256VectorTests(IntFunction<short[]> fa,
IntFunction<boolean[]> fm) {
short[] a = fa.apply(SPECIES.length());
short[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Short> vmask = ShortVector.maskFromValues(SPECIES, mask);
+ VectorMask<Short> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
ShortVector av = ShortVector.fromArray(SPECIES, a, i);
av.not(vmask).intoArray(r, i);
< prev index next >