mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8319111: Mismatched MemorySegment heap access is not consistently intrinsified
Reviewed-by: sviswanathan, psandoz, thartmann
This commit is contained in:
parent
a0920aa436
commit
2678e4cd94
14 changed files with 205 additions and 156 deletions
|
@ -74,7 +74,7 @@ abstract class AbstractMask<E> extends VectorMask<E> {
|
|||
i = VectorIntrinsics.checkFromIndexSize(i, laneCount, bits.length);
|
||||
VectorSupport.store(
|
||||
vsp.maskType(), vsp.elementType(), laneCount,
|
||||
bits, (long) i + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET,
|
||||
bits, (long) i + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET, false,
|
||||
this, bits, i,
|
||||
(c, idx, s) -> System.arraycopy(s.getBits(), 0, c, (int) idx, s.length()));
|
||||
|
||||
|
|
|
@ -3373,7 +3373,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3526,7 +3526,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteVector normalized = this.and((byte) 1);
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset),
|
||||
a, booleanArrayAddress(a, offset), false,
|
||||
normalized,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3737,7 +3737,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3754,7 +3754,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3771,7 +3771,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset),
|
||||
a, booleanArrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0)));
|
||||
|
@ -3788,7 +3788,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset), m, offsetInRange,
|
||||
a, booleanArrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0)));
|
||||
|
@ -3836,7 +3836,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -3853,7 +3853,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
@ -3872,7 +3872,7 @@ public abstract class ByteVector extends AbstractVector<Byte> {
|
|||
ByteVector normalized = this.and((byte) 1);
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset),
|
||||
a, booleanArrayAddress(a, offset), false,
|
||||
normalized, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
|
@ -3061,7 +3061,7 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
|||
DoubleSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3294,7 +3294,7 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
|||
DoubleSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3311,7 +3311,7 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
|||
DoubleSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3413,7 +3413,7 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
|||
DoubleSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -3430,7 +3430,7 @@ public abstract class DoubleVector extends AbstractVector<Double> {
|
|||
DoubleSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
|
@ -3067,7 +3067,7 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
|||
FloatSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3281,7 +3281,7 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
|||
FloatSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3298,7 +3298,7 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
|||
FloatSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3382,7 +3382,7 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
|||
FloatSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -3399,7 +3399,7 @@ public abstract class FloatVector extends AbstractVector<Float> {
|
|||
FloatSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
|
@ -3223,7 +3223,7 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
|||
IntSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3437,7 +3437,7 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
|||
IntSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3454,7 +3454,7 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
|||
IntSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3538,7 +3538,7 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
|||
IntSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -3555,7 +3555,7 @@ public abstract class IntVector extends AbstractVector<Integer> {
|
|||
IntSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
|
@ -3102,7 +3102,7 @@ public abstract class LongVector extends AbstractVector<Long> {
|
|||
LongSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3335,7 +3335,7 @@ public abstract class LongVector extends AbstractVector<Long> {
|
|||
LongSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3352,7 +3352,7 @@ public abstract class LongVector extends AbstractVector<Long> {
|
|||
LongSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3454,7 +3454,7 @@ public abstract class LongVector extends AbstractVector<Long> {
|
|||
LongSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -3471,7 +3471,7 @@ public abstract class LongVector extends AbstractVector<Long> {
|
|||
LongSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
|
@ -3372,7 +3372,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3520,7 +3520,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset),
|
||||
a, charArrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -3723,7 +3723,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3740,7 +3740,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -3756,7 +3756,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset),
|
||||
a, charArrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> (short) arr_[off_ + i]));
|
||||
|
@ -3773,7 +3773,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset), m, offsetInRange,
|
||||
a, charArrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> (short) arr_[off_ + i]));
|
||||
|
@ -3822,7 +3822,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -3839,7 +3839,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
@ -3889,7 +3889,7 @@ public abstract class ShortVector extends AbstractVector<Short> {
|
|||
ShortSpecies vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset),
|
||||
a, charArrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
|
@ -207,7 +207,7 @@ public abstract class VectorMask<E> extends jdk.internal.vm.vector.VectorSupport
|
|||
offset = VectorIntrinsics.checkFromIndexSize(offset, laneCount, bits.length);
|
||||
return VectorSupport.load(
|
||||
vsp.maskType(), vsp.elementType(), laneCount,
|
||||
bits, (long) offset + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET,
|
||||
bits, (long) offset + Unsafe.ARRAY_BOOLEAN_BASE_OFFSET, false,
|
||||
bits, offset, vsp,
|
||||
(c, idx, s)
|
||||
-> s.opm(n -> c[((int )idx) + n]));
|
||||
|
|
|
@ -4178,7 +4178,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -4397,7 +4397,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset),
|
||||
a, charArrayAddress(a, offset), false,
|
||||
this,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -4558,7 +4558,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
ByteVector normalized = this.and((byte) 1);
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset),
|
||||
a, booleanArrayAddress(a, offset), false,
|
||||
normalized,
|
||||
a, offset,
|
||||
(arr, off, v)
|
||||
|
@ -4770,7 +4770,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -4787,7 +4787,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset), m, offsetInRange,
|
||||
a, arrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> arr_[off_ + i]));
|
||||
|
@ -4864,7 +4864,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset),
|
||||
a, charArrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> (short) arr_[off_ + i]));
|
||||
|
@ -4881,7 +4881,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset), m, offsetInRange,
|
||||
a, charArrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> (short) arr_[off_ + i]));
|
||||
|
@ -4898,7 +4898,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
return VectorSupport.load(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset),
|
||||
a, booleanArrayAddress(a, offset), false,
|
||||
a, offset, vsp,
|
||||
(arr, off, s) -> s.ldOp(arr, (int) off,
|
||||
(arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0)));
|
||||
|
@ -4915,7 +4915,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
return VectorSupport.loadMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset), m, offsetInRange,
|
||||
a, booleanArrayAddress(a, offset), false, m, offsetInRange,
|
||||
a, offset, vsp,
|
||||
(arr, off, s, vm) -> s.ldOp(arr, (int) off, vm,
|
||||
(arr_, off_, i) -> (byte) (arr_[off_ + i] ? 1 : 0)));
|
||||
|
@ -4964,7 +4964,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
VectorSupport.store(
|
||||
vsp.vectorType(), vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, a, offset,
|
||||
(arr, off, v)
|
||||
-> v.stOp(arr, (int) off,
|
||||
|
@ -4981,7 +4981,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, arrayAddress(a, offset),
|
||||
a, arrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
@ -5062,7 +5062,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
ByteVector normalized = this.and((byte) 1);
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, booleanArrayAddress(a, offset),
|
||||
a, booleanArrayAddress(a, offset), false,
|
||||
normalized, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
@ -5112,7 +5112,7 @@ public abstract class $abstractvectortype$ extends AbstractVector<$Boxtype$> {
|
|||
$Type$Species vsp = vspecies();
|
||||
VectorSupport.storeMasked(
|
||||
vsp.vectorType(), maskClass, vsp.elementType(), vsp.laneCount(),
|
||||
a, charArrayAddress(a, offset),
|
||||
a, charArrayAddress(a, offset), false,
|
||||
this, m, a, offset,
|
||||
(arr, off, v, vm)
|
||||
-> v.stOp(arr, (int) off, vm,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue