< prev index next >

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

Print this page
rev 55589 : 8221817: [vector] No suitable species for indexMap of Gather/Scatter VectorAPI
Reviewed-by: duke

*** 260,270 **** if (species.length() == 1) { return LongVector.fromArray(species, a, i + indexMap[j]); } // Index vector: vix[0:n] = k -> i + indexMap[j + i] ! IntVector vix = IntVector.fromArray(species.indexSpecies(), indexMap, j).add(i); vix = VectorIntrinsics.checkIndex(vix, a.length); return VectorIntrinsics.loadWithMap((Class<LongVector>) species.boxType(), long.class, species.length(), species.indexSpecies().vectorType(), a, Unsafe.ARRAY_LONG_BASE_OFFSET, vix, --- 260,275 ---- if (species.length() == 1) { return LongVector.fromArray(species, a, i + indexMap[j]); } // Index vector: vix[0:n] = k -> i + indexMap[j + i] ! IntVector vix; ! if (species.indexMask() != null) { ! vix = IntVector.fromArray(species.indexSpecies(), indexMap, j, species.indexMask()).add(i); ! } else { ! vix = IntVector.fromArray(species.indexSpecies(), indexMap, j).add(i); ! } vix = VectorIntrinsics.checkIndex(vix, a.length); return VectorIntrinsics.loadWithMap((Class<LongVector>) species.boxType(), long.class, species.length(), species.indexSpecies().vectorType(), a, Unsafe.ARRAY_LONG_BASE_OFFSET, vix,
*** 1642,1651 **** --- 1647,1657 ---- abstract Mask<Long> opm(FOpm f); abstract IntVector.IntSpecies indexSpecies(); + abstract Mask<Integer> indexMask(); // Factories @Override public abstract LongVector zero();
< prev index next >