< prev index next >
test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/crypto/Poly1305Bench.java
Print this page
rev 55594 : tests and benchmark changes
*** 76,100 ****
private static final int BITS_PER_LIMB = 26;
private static final int LIMB_MASK = (1 << BITS_PER_LIMB) - 1;
private static final int KEY_LENGTH = 32;
private static final int RS_LENGTH = KEY_LENGTH / 2;
! private final LongVector.LongSpecies longSpecies;
! private final IntVector.IntSpecies intSpecies;
private final int vectorWidth;
private final int parBlockCount;
private final LongVector.Shuffle<Long> inShuffle0;
private final LongVector.Shuffle<Long> inShuffle1;
private final IntVector.Mask<Long> inMask;
public Poly1305Vector(Vector.Shape shape) {
! this.longSpecies = LongVector.species(shape);
int intSize = shape.bitSize() / 2;
Vector.Shape intShape = Vector.Shape.forBitSize(intSize);
! this.intSpecies = IntVector.species(intShape);
this.vectorWidth = longSpecies.length();
this.parBlockCount = vectorWidth * 16;
this.inShuffle0 = makeInShuffle0();
this.inShuffle1 = makeInShuffle1();
--- 76,100 ----
private static final int BITS_PER_LIMB = 26;
private static final int LIMB_MASK = (1 << BITS_PER_LIMB) - 1;
private static final int KEY_LENGTH = 32;
private static final int RS_LENGTH = KEY_LENGTH / 2;
! private final Vector.Species<Long> longSpecies;
! private final Vector.Species<Integer> intSpecies;
private final int vectorWidth;
private final int parBlockCount;
private final LongVector.Shuffle<Long> inShuffle0;
private final LongVector.Shuffle<Long> inShuffle1;
private final IntVector.Mask<Long> inMask;
public Poly1305Vector(Vector.Shape shape) {
! this.longSpecies = Vector.Species.of(long.class, shape);
int intSize = shape.bitSize() / 2;
Vector.Shape intShape = Vector.Shape.forBitSize(intSize);
! this.intSpecies = Vector.Species.of(int.class, intShape);
this.vectorWidth = longSpecies.length();
this.parBlockCount = vectorWidth * 16;
this.inShuffle0 = makeInShuffle0();
this.inShuffle1 = makeInShuffle1();
*** 273,287 ****
for (int i = 1; i < vectorWidth; i++) {
r[i] = multiply(r[i - 1], r[0]);
}
int rUpIndex = vectorWidth - 1;
! IntVector rUp0_int = intSpecies.broadcast(r[rUpIndex][0]);
! IntVector rUp1_int = intSpecies.broadcast(r[rUpIndex][1]);
! IntVector rUp2_int = intSpecies.broadcast(r[rUpIndex][2]);
! IntVector rUp3_int = intSpecies.broadcast(r[rUpIndex][3]);
! IntVector rUp4_int = intSpecies.broadcast(r[rUpIndex][4]);
IntVector r5Up1_int = rUp1_int.mul(5);
IntVector r5Up2_int = rUp2_int.mul(5);
IntVector r5Up3_int = rUp3_int.mul(5);
IntVector r5Up4_int = rUp4_int.mul(5);
--- 273,287 ----
for (int i = 1; i < vectorWidth; i++) {
r[i] = multiply(r[i - 1], r[0]);
}
int rUpIndex = vectorWidth - 1;
! IntVector rUp0_int = IntVector.broadcast(intSpecies, r[rUpIndex][0]);
! IntVector rUp1_int = IntVector.broadcast(intSpecies, r[rUpIndex][1]);
! IntVector rUp2_int = IntVector.broadcast(intSpecies, r[rUpIndex][2]);
! IntVector rUp3_int = IntVector.broadcast(intSpecies, r[rUpIndex][3]);
! IntVector rUp4_int = IntVector.broadcast(intSpecies, r[rUpIndex][4]);
IntVector r5Up1_int = rUp1_int.mul(5);
IntVector r5Up2_int = rUp2_int.mul(5);
IntVector r5Up3_int = rUp3_int.mul(5);
IntVector r5Up4_int = rUp4_int.mul(5);
< prev index next >