< prev index next >
test/jdk/jdk/incubator/vector/IntMaxVectorTests.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 IntMaxVectorTests
*/
-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.IntVector;
import org.testng.Assert;
@@ -46,17 +48,17 @@
import java.util.stream.Stream;
@Test
public class IntMaxVectorTests extends AbstractVectorTest {
- static final Species<Integer> SPECIES =
+ static final VectorSpecies<Integer> SPECIES =
IntVector.SPECIES_MAX;
static final int INVOC_COUNT = Integer.getInteger("jdk.incubator.vector.test.loop-iterations", 100);
- static Shape getMaxBit() {
- return Shape.S_Max_BIT;
+ static VectorShape getMaxBit() {
+ return VectorShape.S_Max_BIT;
}
interface FUnOp {
int apply(int a);
}
@@ -455,11 +457,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -495,11 +497,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -537,11 +539,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -580,11 +582,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -624,11 +626,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -668,11 +670,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -712,11 +714,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -756,11 +758,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -800,11 +802,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -843,11 +845,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
av.aShiftR((int)b[i], vmask).intoArray(r, i);
@@ -885,11 +887,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
av.shiftR((int)b[i], vmask).intoArray(r, i);
@@ -927,11 +929,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
av.shiftL((int)b[i], vmask).intoArray(r, i);
@@ -1321,11 +1323,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<Integer> vmask = IntVector.maskFromArray(SPECIES, mask, i);
+ VectorMask<Integer> vmask = VectorMask.fromArray(SPECIES, mask, i);
r[i] = vmask.anyTrue();
}
}
assertReductionBoolArraysEquals(mask, r, IntMaxVectorTests::anyTrue);
@@ -1347,11 +1349,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<Integer> vmask = IntVector.maskFromArray(SPECIES, mask, i);
+ VectorMask<Integer> vmask = VectorMask.fromArray(SPECIES, mask, i);
r[i] = vmask.allTrue();
}
}
assertReductionBoolArraysEquals(mask, r, IntMaxVectorTests::allTrue);
@@ -1380,11 +1382,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
- Vector.Mask<Integer> mv = av.lessThan(bv);
+ VectorMask<Integer> 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]);
}
@@ -1400,11 +1402,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
- Vector.Mask<Integer> mv = av.greaterThan(bv);
+ VectorMask<Integer> 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]);
}
@@ -1420,11 +1422,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
- Vector.Mask<Integer> mv = av.equal(bv);
+ VectorMask<Integer> 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]);
}
@@ -1440,11 +1442,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
- Vector.Mask<Integer> mv = av.notEqual(bv);
+ VectorMask<Integer> 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]);
}
@@ -1460,11 +1462,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
- Vector.Mask<Integer> mv = av.lessThanEq(bv);
+ VectorMask<Integer> 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]);
}
@@ -1480,11 +1482,11 @@
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
- Vector.Mask<Integer> mv = av.greaterThanEq(bv);
+ VectorMask<Integer> 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]);
}
@@ -1502,11 +1504,11 @@
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] b = fb.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
IntVector bv = IntVector.fromArray(SPECIES, b, i);
@@ -1525,11 +1527,11 @@
int[] r = fr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.rearrange(IntVector.shuffleFromArray(SPECIES, order, i)).intoArray(r, i);
+ av.rearrange(VectorShuffle.fromArray(SPECIES, order, i)).intoArray(r, i);
}
}
assertRearrangeArraysEquals(a, r, order, SPECIES.length());
}
@@ -1737,11 +1739,11 @@
static void negMaskedIntMaxVectorTests(IntFunction<int[]> fa,
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
av.neg(vmask).intoArray(r, i);
@@ -1774,11 +1776,11 @@
static void absMaskedIntMaxVectorTests(IntFunction<int[]> fa,
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
av.abs(vmask).intoArray(r, i);
@@ -1816,11 +1818,11 @@
static void notMaskedIntMaxVectorTests(IntFunction<int[]> fa,
IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
- Vector.Mask<Integer> vmask = IntVector.maskFromValues(SPECIES, mask);
+ VectorMask<Integer> vmask = VectorMask.fromValues(SPECIES, mask);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
av.not(vmask).intoArray(r, i);
< prev index next >