Merge
This commit is contained in:
commit
4f607f2ada
@ -411,13 +411,13 @@ instruct storeV_masked_partial(vReg src, vmemA mem, pRegGov pg, pRegGov pgtmp, r
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
|
||||
// maskAll
|
||||
// maskAll (full or partial predicate size)
|
||||
|
||||
instruct vmaskAll_immI(pRegGov dst, immI src) %{
|
||||
predicate(UseSVE > 0);
|
||||
match(Set dst (MaskAll src));
|
||||
ins_cost(SVE_COST);
|
||||
format %{ "sve_ptrue/sve_pfalse $dst\t# mask all (sve) (B/H/S)" %}
|
||||
format %{ "sve_ptrue_lanecnt/sve_pfalse $dst\t# mask all (sve) (B/H/S)" %}
|
||||
ins_encode %{
|
||||
int con = (int)$src$$constant;
|
||||
if (con == 0) {
|
||||
@ -425,7 +425,8 @@ instruct vmaskAll_immI(pRegGov dst, immI src) %{
|
||||
} else {
|
||||
assert(con == -1, "invalid constant value for mask");
|
||||
BasicType bt = Matcher::vector_element_basic_type(this);
|
||||
__ sve_ptrue(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt));
|
||||
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt),
|
||||
Matcher::vector_length(this));
|
||||
}
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
@ -435,14 +436,22 @@ instruct vmaskAllI(pRegGov dst, iRegIorL2I src, vReg tmp, rFlagsReg cr) %{
|
||||
predicate(UseSVE > 0);
|
||||
match(Set dst (MaskAll src));
|
||||
effect(TEMP tmp, KILL cr);
|
||||
ins_cost(2 * SVE_COST);
|
||||
ins_cost(3 * SVE_COST);
|
||||
format %{ "sve_dup $tmp, $src\n\t"
|
||||
"sve_cmpne $dst, $tmp, 0\t# mask all (sve) (B/H/S)" %}
|
||||
"sve_ptrue_lanecnt $dst\n\t"
|
||||
"sve_cmpne $dst, $dst, $tmp, 0\t# mask all (sve) (B/H/S)" %}
|
||||
ins_encode %{
|
||||
BasicType bt = Matcher::vector_element_basic_type(this);
|
||||
Assembler::SIMD_RegVariant size = __ elemType_to_regVariant(bt);
|
||||
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
|
||||
__ sve_dup(as_FloatRegister($tmp$$reg), size, as_Register($src$$reg));
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
|
||||
if (length_in_bytes < MaxVectorSize) {
|
||||
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), size, Matcher::vector_length(this));
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size,
|
||||
as_PRegister($dst$$reg), as_FloatRegister($tmp$$reg), 0);
|
||||
} else {
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
|
||||
}
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
@ -451,7 +460,7 @@ instruct vmaskAll_immL(pRegGov dst, immL src) %{
|
||||
predicate(UseSVE > 0);
|
||||
match(Set dst (MaskAll src));
|
||||
ins_cost(SVE_COST);
|
||||
format %{ "sve_ptrue/sve_pfalse $dst\t# mask all (sve) (D)" %}
|
||||
format %{ "sve_ptrue_lanecnt/sve_pfalse $dst\t# mask all (sve) (D)" %}
|
||||
ins_encode %{
|
||||
long con = (long)$src$$constant;
|
||||
if (con == 0) {
|
||||
@ -459,7 +468,8 @@ instruct vmaskAll_immL(pRegGov dst, immL src) %{
|
||||
} else {
|
||||
assert(con == -1, "invalid constant value for mask");
|
||||
BasicType bt = Matcher::vector_element_basic_type(this);
|
||||
__ sve_ptrue(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt));
|
||||
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt),
|
||||
Matcher::vector_length(this));
|
||||
}
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
@ -469,14 +479,22 @@ instruct vmaskAllL(pRegGov dst, iRegL src, vReg tmp, rFlagsReg cr) %{
|
||||
predicate(UseSVE > 0);
|
||||
match(Set dst (MaskAll src));
|
||||
effect(TEMP tmp, KILL cr);
|
||||
ins_cost(2 * SVE_COST);
|
||||
ins_cost(3 * SVE_COST);
|
||||
format %{ "sve_dup $tmp, $src\n\t"
|
||||
"sve_cmpne $dst, $tmp, 0\t# mask all (sve) (D)" %}
|
||||
"sve_ptrue_lanecnt $dst\n\t"
|
||||
"sve_cmpne $dst, $dst, $tmp, 0\t# mask all (sve) (D)" %}
|
||||
ins_encode %{
|
||||
BasicType bt = Matcher::vector_element_basic_type(this);
|
||||
Assembler::SIMD_RegVariant size = __ elemType_to_regVariant(bt);
|
||||
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
|
||||
__ sve_dup(as_FloatRegister($tmp$$reg), size, as_Register($src$$reg));
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
|
||||
if (length_in_bytes < MaxVectorSize) {
|
||||
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), size, Matcher::vector_length(this));
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size,
|
||||
as_PRegister($dst$$reg), as_FloatRegister($tmp$$reg), 0);
|
||||
} else {
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
|
||||
}
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}
|
||||
@ -3084,6 +3102,7 @@ instruct reduce_maxF_masked(vRegF dst, vRegF src1, vReg src2, pRegGov pg) %{
|
||||
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
|
||||
match(Set dst (MaxReductionV (Binary src1 src2) pg));
|
||||
ins_cost(SVE_COST);
|
||||
effect(TEMP_DEF dst);
|
||||
format %{ "sve_reduce_maxF $dst, $src1, $pg, $src2\t# maxF reduction predicated (sve)" %}
|
||||
ins_encode %{
|
||||
__ sve_fmaxv(as_FloatRegister($dst$$reg), __ S, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
|
||||
@ -3098,6 +3117,7 @@ instruct reduce_maxD_masked(vRegD dst, vRegD src1, vReg src2, pRegGov pg) %{
|
||||
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
|
||||
match(Set dst (MaxReductionV (Binary src1 src2) pg));
|
||||
ins_cost(SVE_COST);
|
||||
effect(TEMP_DEF dst);
|
||||
format %{ "sve_reduce_maxD $dst, $src1, $pg, $src2\t# maxD reduction predicated (sve)" %}
|
||||
ins_encode %{
|
||||
__ sve_fmaxv(as_FloatRegister($dst$$reg), __ D, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
|
||||
@ -3380,6 +3400,7 @@ instruct reduce_minF_masked(vRegF dst, vRegF src1, vReg src2, pRegGov pg) %{
|
||||
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
|
||||
match(Set dst (MinReductionV (Binary src1 src2) pg));
|
||||
ins_cost(SVE_COST);
|
||||
effect(TEMP_DEF dst);
|
||||
format %{ "sve_reduce_minF $dst, $src1, $pg, $src2\t# minF reduction predicated (sve)" %}
|
||||
ins_encode %{
|
||||
__ sve_fminv(as_FloatRegister($dst$$reg), __ S, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
|
||||
@ -3394,6 +3415,7 @@ instruct reduce_minD_masked(vRegD dst, vRegD src1, vReg src2, pRegGov pg) %{
|
||||
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
|
||||
match(Set dst (MinReductionV (Binary src1 src2) pg));
|
||||
ins_cost(SVE_COST);
|
||||
effect(TEMP_DEF dst);
|
||||
format %{ "sve_reduce_minD $dst, $src1, $pg, $src2\t# minD reduction predicated (sve)" %}
|
||||
ins_encode %{
|
||||
__ sve_fminv(as_FloatRegister($dst$$reg), __ D, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
|
||||
|
@ -356,7 +356,7 @@ instruct vmaskAll_imm$1(pRegGov dst, imm$1 src) %{
|
||||
predicate(UseSVE > 0);
|
||||
match(Set dst (MaskAll src));
|
||||
ins_cost(SVE_COST);
|
||||
format %{ "sve_ptrue/sve_pfalse $dst\t# mask all (sve) ($2)" %}
|
||||
format %{ "sve_ptrue_lanecnt/sve_pfalse $dst\t# mask all (sve) ($2)" %}
|
||||
ins_encode %{
|
||||
ifelse($1, `I', int, long) con = (ifelse($1, `I', int, long))$src$$constant;
|
||||
if (con == 0) {
|
||||
@ -364,7 +364,8 @@ instruct vmaskAll_imm$1(pRegGov dst, imm$1 src) %{
|
||||
} else {
|
||||
assert(con == -1, "invalid constant value for mask");
|
||||
BasicType bt = Matcher::vector_element_basic_type(this);
|
||||
__ sve_ptrue(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt));
|
||||
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt),
|
||||
Matcher::vector_length(this));
|
||||
}
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
@ -377,19 +378,27 @@ instruct vmaskAll$1(pRegGov dst, ifelse($1, `I', iRegIorL2I, iRegL) src, vReg tm
|
||||
predicate(UseSVE > 0);
|
||||
match(Set dst (MaskAll src));
|
||||
effect(TEMP tmp, KILL cr);
|
||||
ins_cost(2 * SVE_COST);
|
||||
ins_cost(3 * SVE_COST);
|
||||
format %{ "sve_dup $tmp, $src\n\t"
|
||||
"sve_cmpne $dst, $tmp, 0\t# mask all (sve) ($2)" %}
|
||||
"sve_ptrue_lanecnt $dst\n\t"
|
||||
"sve_cmpne $dst, $dst, $tmp, 0\t# mask all (sve) ($2)" %}
|
||||
ins_encode %{
|
||||
BasicType bt = Matcher::vector_element_basic_type(this);
|
||||
Assembler::SIMD_RegVariant size = __ elemType_to_regVariant(bt);
|
||||
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
|
||||
__ sve_dup(as_FloatRegister($tmp$$reg), size, as_Register($src$$reg));
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
|
||||
if (length_in_bytes < MaxVectorSize) {
|
||||
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), size, Matcher::vector_length(this));
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size,
|
||||
as_PRegister($dst$$reg), as_FloatRegister($tmp$$reg), 0);
|
||||
} else {
|
||||
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
|
||||
}
|
||||
%}
|
||||
ins_pipe(pipe_slow);
|
||||
%}')dnl
|
||||
dnl
|
||||
// maskAll
|
||||
// maskAll (full or partial predicate size)
|
||||
MASKALL_IMM(I, B/H/S)
|
||||
MASKALL(I, B/H/S)
|
||||
MASKALL_IMM(L, D)
|
||||
@ -1807,6 +1816,7 @@ instruct reduce_$1$2_masked($5 dst, $5 src1, vReg src2, pRegGov pg) %{
|
||||
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
|
||||
match(Set dst (translit($1, `m', `M')ReductionV (Binary src1 src2) pg));
|
||||
ins_cost(SVE_COST);
|
||||
effect(TEMP_DEF dst);
|
||||
format %{ "sve_reduce_$1$2 $dst, $src1, $pg, $src2\t# $1$2 reduction predicated (sve)" %}
|
||||
ins_encode %{
|
||||
__ sve_f$1v(as_FloatRegister($dst$$reg), __ $4, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
|
||||
|
@ -1232,3 +1232,39 @@ void C2_MacroAssembler::sve_reduce_integral(int opc, Register dst, BasicType bt,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set elements of the dst predicate to true if the element number is
|
||||
// in the range of [0, lane_cnt), or to false otherwise.
|
||||
void C2_MacroAssembler::sve_ptrue_lanecnt(PRegister dst, SIMD_RegVariant size, int lane_cnt) {
|
||||
assert(size != Q, "invalid size");
|
||||
switch(lane_cnt) {
|
||||
case 1: /* VL1 */
|
||||
case 2: /* VL2 */
|
||||
case 3: /* VL3 */
|
||||
case 4: /* VL4 */
|
||||
case 5: /* VL5 */
|
||||
case 6: /* VL6 */
|
||||
case 7: /* VL7 */
|
||||
case 8: /* VL8 */
|
||||
sve_ptrue(dst, size, lane_cnt);
|
||||
break;
|
||||
case 16:
|
||||
sve_ptrue(dst, size, /* VL16 */ 0b01001);
|
||||
break;
|
||||
case 32:
|
||||
sve_ptrue(dst, size, /* VL32 */ 0b01010);
|
||||
break;
|
||||
case 64:
|
||||
sve_ptrue(dst, size, /* VL64 */ 0b01011);
|
||||
break;
|
||||
case 128:
|
||||
sve_ptrue(dst, size, /* VL128 */ 0b01100);
|
||||
break;
|
||||
case 256:
|
||||
sve_ptrue(dst, size, /* VL256 */ 0b01101);
|
||||
break;
|
||||
default:
|
||||
assert(false, "unsupported");
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
}
|
||||
|
@ -88,6 +88,10 @@
|
||||
void sve_reduce_integral(int opc, Register dst, BasicType bt, Register src1,
|
||||
FloatRegister src2, PRegister pg, FloatRegister tmp);
|
||||
|
||||
// Set elements of the dst predicate to true if the element number is
|
||||
// in the range of [0, lane_cnt), or to false otherwise.
|
||||
void sve_ptrue_lanecnt(PRegister dst, SIMD_RegVariant size, int lane_cnt);
|
||||
|
||||
// Generate predicate through whilelo, by comparing ZR with an unsigned
|
||||
// immediate. rscratch1 will be clobbered.
|
||||
inline void sve_whilelo_zr_imm(PRegister pd, SIMD_RegVariant size, uint imm) {
|
||||
|
@ -963,6 +963,14 @@ void LIRGenerator::move_to_phi(PhiResolver* resolver, Value cur_val, Value sux_v
|
||||
Phi* phi = sux_val->as_Phi();
|
||||
// cur_val can be null without phi being null in conjunction with inlining
|
||||
if (phi != NULL && cur_val != NULL && cur_val != phi && !phi->is_illegal()) {
|
||||
if (phi->is_local()) {
|
||||
for (int i = 0; i < phi->operand_count(); i++) {
|
||||
Value op = phi->operand_at(i);
|
||||
if (op != NULL && op->type()->is_illegal()) {
|
||||
bailout("illegal phi operand");
|
||||
}
|
||||
}
|
||||
}
|
||||
Phi* cur_phi = cur_val->as_Phi();
|
||||
if (cur_phi != NULL && cur_phi->is_illegal()) {
|
||||
// Phi and local would need to get invalidated
|
||||
|
@ -1541,6 +1541,31 @@ and its committed regions.
|
||||
.RE
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:+NeverActAsServerClassMachine\f[R]
|
||||
Enable the "Client VM emulation" mode which only uses the C1 JIT
|
||||
compiler, a 32Mb CodeCache and the Serial GC.
|
||||
The maximum amount of memory that the JVM may use (controlled by the
|
||||
\f[CB]\-XX:MaxRAM=n\f[R] flag) is set to 1GB by default.
|
||||
The string "emulated\-client" is added to the JVM version string.
|
||||
.RS
|
||||
.PP
|
||||
By default the flag is set to \f[CB]true\f[R] only on Windows in 32\-bit
|
||||
mode and \f[CB]false\f[R] in all other cases.
|
||||
.PP
|
||||
The "Client VM emulation" mode will not be enabled if any of the
|
||||
following flags are used on the command line:
|
||||
.IP
|
||||
.nf
|
||||
\f[CB]
|
||||
\-XX:{+|\-}TieredCompilation
|
||||
\-XX:CompilationMode=mode
|
||||
\-XX:TieredStopAtLevel=n
|
||||
\-XX:{+|\-}EnableJVMCI
|
||||
\-XX:{+|\-}UseJVMCICompiler
|
||||
\f[R]
|
||||
.fi
|
||||
.RE
|
||||
.TP
|
||||
.B \f[CB]\-XX:ObjectAlignmentInBytes=\f[R]\f[I]alignment\f[R]
|
||||
Sets the memory alignment of Java objects (in bytes).
|
||||
By default, the value is set to 8 bytes.
|
||||
|
@ -1723,9 +1723,22 @@ generate(SpecialCases, [["ccmn", "__ ccmn(zr, zr, 3u, Assembler::LE);",
|
||||
["bic", "__ sve_bic(p10, p7, p9, p11);", "bic\tp10.b, p7/z, p9.b, p11.b"],
|
||||
["ptest", "__ sve_ptest(p7, p1);", "ptest\tp7, p1.b"],
|
||||
["ptrue", "__ sve_ptrue(p1, __ B);", "ptrue\tp1.b"],
|
||||
["ptrue", "__ sve_ptrue(p1, __ B, 0b00001);", "ptrue\tp1.b, vl1"],
|
||||
["ptrue", "__ sve_ptrue(p1, __ B, 0b00101);", "ptrue\tp1.b, vl5"],
|
||||
["ptrue", "__ sve_ptrue(p1, __ B, 0b01001);", "ptrue\tp1.b, vl16"],
|
||||
["ptrue", "__ sve_ptrue(p1, __ B, 0b01101);", "ptrue\tp1.b, vl256"],
|
||||
["ptrue", "__ sve_ptrue(p2, __ H);", "ptrue\tp2.h"],
|
||||
["ptrue", "__ sve_ptrue(p2, __ H, 0b00010);", "ptrue\tp2.h, vl2"],
|
||||
["ptrue", "__ sve_ptrue(p2, __ H, 0b00110);", "ptrue\tp2.h, vl6"],
|
||||
["ptrue", "__ sve_ptrue(p2, __ H, 0b01010);", "ptrue\tp2.h, vl32"],
|
||||
["ptrue", "__ sve_ptrue(p3, __ S);", "ptrue\tp3.s"],
|
||||
["ptrue", "__ sve_ptrue(p3, __ S, 0b00011);", "ptrue\tp3.s, vl3"],
|
||||
["ptrue", "__ sve_ptrue(p3, __ S, 0b00111);", "ptrue\tp3.s, vl7"],
|
||||
["ptrue", "__ sve_ptrue(p3, __ S, 0b01011);", "ptrue\tp3.s, vl64"],
|
||||
["ptrue", "__ sve_ptrue(p4, __ D);", "ptrue\tp4.d"],
|
||||
["ptrue", "__ sve_ptrue(p4, __ D, 0b00100);", "ptrue\tp4.d, vl4"],
|
||||
["ptrue", "__ sve_ptrue(p4, __ D, 0b01000);", "ptrue\tp4.d, vl8"],
|
||||
["ptrue", "__ sve_ptrue(p4, __ D, 0b01100);", "ptrue\tp4.d, vl128"],
|
||||
["pfalse", "__ sve_pfalse(p7);", "pfalse\tp7.b"],
|
||||
["uzp1", "__ sve_uzp1(p0, __ B, p0, p1);", "uzp1\tp0.b, p0.b, p1.b"],
|
||||
["uzp1", "__ sve_uzp1(p0, __ H, p0, p1);", "uzp1\tp0.h, p0.h, p1.h"],
|
||||
|
@ -864,9 +864,22 @@
|
||||
__ sve_bic(p10, p7, p9, p11); // bic p10.b, p7/z, p9.b, p11.b
|
||||
__ sve_ptest(p7, p1); // ptest p7, p1.b
|
||||
__ sve_ptrue(p1, __ B); // ptrue p1.b
|
||||
__ sve_ptrue(p1, __ B, 0b00001); // ptrue p1.b, vl1
|
||||
__ sve_ptrue(p1, __ B, 0b00101); // ptrue p1.b, vl5
|
||||
__ sve_ptrue(p1, __ B, 0b01001); // ptrue p1.b, vl16
|
||||
__ sve_ptrue(p1, __ B, 0b01101); // ptrue p1.b, vl256
|
||||
__ sve_ptrue(p2, __ H); // ptrue p2.h
|
||||
__ sve_ptrue(p2, __ H, 0b00010); // ptrue p2.h, vl2
|
||||
__ sve_ptrue(p2, __ H, 0b00110); // ptrue p2.h, vl6
|
||||
__ sve_ptrue(p2, __ H, 0b01010); // ptrue p2.h, vl32
|
||||
__ sve_ptrue(p3, __ S); // ptrue p3.s
|
||||
__ sve_ptrue(p3, __ S, 0b00011); // ptrue p3.s, vl3
|
||||
__ sve_ptrue(p3, __ S, 0b00111); // ptrue p3.s, vl7
|
||||
__ sve_ptrue(p3, __ S, 0b01011); // ptrue p3.s, vl64
|
||||
__ sve_ptrue(p4, __ D); // ptrue p4.d
|
||||
__ sve_ptrue(p4, __ D, 0b00100); // ptrue p4.d, vl4
|
||||
__ sve_ptrue(p4, __ D, 0b01000); // ptrue p4.d, vl8
|
||||
__ sve_ptrue(p4, __ D, 0b01100); // ptrue p4.d, vl128
|
||||
__ sve_pfalse(p7); // pfalse p7.b
|
||||
__ sve_uzp1(p0, __ B, p0, p1); // uzp1 p0.b, p0.b, p1.b
|
||||
__ sve_uzp1(p0, __ H, p0, p1); // uzp1 p0.h, p0.h, p1.h
|
||||
@ -1130,30 +1143,30 @@
|
||||
0x9101a1a0, 0xb10a5cc8, 0xd10810aa, 0xf10fd061,
|
||||
0x120cb166, 0x321764bc, 0x52174681, 0x720c0227,
|
||||
0x9241018e, 0xb25a2969, 0xd278b411, 0xf26aad01,
|
||||
0x14000000, 0x17ffffd7, 0x14000398, 0x94000000,
|
||||
0x97ffffd4, 0x94000395, 0x3400000a, 0x34fffa2a,
|
||||
0x3400724a, 0x35000008, 0x35fff9c8, 0x350071e8,
|
||||
0xb400000b, 0xb4fff96b, 0xb400718b, 0xb500001d,
|
||||
0xb5fff91d, 0xb500713d, 0x10000013, 0x10fff8b3,
|
||||
0x100070d3, 0x90000013, 0x36300016, 0x3637f836,
|
||||
0x36307056, 0x3758000c, 0x375ff7cc, 0x37586fec,
|
||||
0x14000000, 0x17ffffd7, 0x140003a5, 0x94000000,
|
||||
0x97ffffd4, 0x940003a2, 0x3400000a, 0x34fffa2a,
|
||||
0x340073ea, 0x35000008, 0x35fff9c8, 0x35007388,
|
||||
0xb400000b, 0xb4fff96b, 0xb400732b, 0xb500001d,
|
||||
0xb5fff91d, 0xb50072dd, 0x10000013, 0x10fff8b3,
|
||||
0x10007273, 0x90000013, 0x36300016, 0x3637f836,
|
||||
0x363071f6, 0x3758000c, 0x375ff7cc, 0x3758718c,
|
||||
0x128313a0, 0x528a32c7, 0x7289173b, 0x92ab3acc,
|
||||
0xd2a0bf94, 0xf2c285e8, 0x9358722f, 0x330e652f,
|
||||
0x53067f3b, 0x93577c53, 0xb34a1aac, 0xd35a4016,
|
||||
0x13946c63, 0x93c3dbc8, 0x54000000, 0x54fff5a0,
|
||||
0x54006dc0, 0x54000001, 0x54fff541, 0x54006d61,
|
||||
0x54000002, 0x54fff4e2, 0x54006d02, 0x54000002,
|
||||
0x54fff482, 0x54006ca2, 0x54000003, 0x54fff423,
|
||||
0x54006c43, 0x54000003, 0x54fff3c3, 0x54006be3,
|
||||
0x54000004, 0x54fff364, 0x54006b84, 0x54000005,
|
||||
0x54fff305, 0x54006b25, 0x54000006, 0x54fff2a6,
|
||||
0x54006ac6, 0x54000007, 0x54fff247, 0x54006a67,
|
||||
0x54000008, 0x54fff1e8, 0x54006a08, 0x54000009,
|
||||
0x54fff189, 0x540069a9, 0x5400000a, 0x54fff12a,
|
||||
0x5400694a, 0x5400000b, 0x54fff0cb, 0x540068eb,
|
||||
0x5400000c, 0x54fff06c, 0x5400688c, 0x5400000d,
|
||||
0x54fff00d, 0x5400682d, 0x5400000e, 0x54ffefae,
|
||||
0x540067ce, 0x5400000f, 0x54ffef4f, 0x5400676f,
|
||||
0x54006f60, 0x54000001, 0x54fff541, 0x54006f01,
|
||||
0x54000002, 0x54fff4e2, 0x54006ea2, 0x54000002,
|
||||
0x54fff482, 0x54006e42, 0x54000003, 0x54fff423,
|
||||
0x54006de3, 0x54000003, 0x54fff3c3, 0x54006d83,
|
||||
0x54000004, 0x54fff364, 0x54006d24, 0x54000005,
|
||||
0x54fff305, 0x54006cc5, 0x54000006, 0x54fff2a6,
|
||||
0x54006c66, 0x54000007, 0x54fff247, 0x54006c07,
|
||||
0x54000008, 0x54fff1e8, 0x54006ba8, 0x54000009,
|
||||
0x54fff189, 0x54006b49, 0x5400000a, 0x54fff12a,
|
||||
0x54006aea, 0x5400000b, 0x54fff0cb, 0x54006a8b,
|
||||
0x5400000c, 0x54fff06c, 0x54006a2c, 0x5400000d,
|
||||
0x54fff00d, 0x540069cd, 0x5400000e, 0x54ffefae,
|
||||
0x5400696e, 0x5400000f, 0x54ffef4f, 0x5400690f,
|
||||
0xd40658e1, 0xd4014d22, 0xd4046543, 0xd4273f60,
|
||||
0xd44cad80, 0xd503201f, 0xd69f03e0, 0xd6bf03e0,
|
||||
0xd5033fdf, 0xd5033e9f, 0xd50332bf, 0xd61f0200,
|
||||
@ -1185,7 +1198,7 @@
|
||||
0x791f226d, 0xf95aa2f3, 0xb9587bb7, 0x395f7176,
|
||||
0x795d9143, 0x399e7e08, 0x799a2697, 0x79df3422,
|
||||
0xb99c2624, 0xfd5c2374, 0xbd5fa1d9, 0xfd1d595a,
|
||||
0xbd1b1869, 0x580057bb, 0x1800000b, 0xf8945060,
|
||||
0xbd1b1869, 0x5800595b, 0x1800000b, 0xf8945060,
|
||||
0xd8000000, 0xf8ae6ba0, 0xf99a0080, 0x1a070035,
|
||||
0x3a0700a8, 0x5a0e0367, 0x7a11009b, 0x9a000380,
|
||||
0xba1e030c, 0xda0f0320, 0xfa030301, 0x0b340b11,
|
||||
@ -1308,58 +1321,61 @@
|
||||
0xc5b040af, 0xe57080af, 0xe5b080af, 0x25034440,
|
||||
0x254054c4, 0x25034640, 0x25415a05, 0x25834440,
|
||||
0x25c54489, 0x250b5d3a, 0x2550dc20, 0x2518e3e1,
|
||||
0x2558e3e2, 0x2598e3e3, 0x25d8e3e4, 0x2518e407,
|
||||
0x05214800, 0x05614800, 0x05a14800, 0x05e14800,
|
||||
0x05214c00, 0x05614c00, 0x05a14c00, 0x05e14c00,
|
||||
0x05304001, 0x05314001, 0x1e601000, 0x1e603000,
|
||||
0x1e621000, 0x1e623000, 0x1e641000, 0x1e643000,
|
||||
0x1e661000, 0x1e663000, 0x1e681000, 0x1e683000,
|
||||
0x1e6a1000, 0x1e6a3000, 0x1e6c1000, 0x1e6c3000,
|
||||
0x1e6e1000, 0x1e6e3000, 0x1e701000, 0x1e703000,
|
||||
0x1e721000, 0x1e723000, 0x1e741000, 0x1e743000,
|
||||
0x1e761000, 0x1e763000, 0x1e781000, 0x1e783000,
|
||||
0x1e7a1000, 0x1e7a3000, 0x1e7c1000, 0x1e7c3000,
|
||||
0x1e7e1000, 0x1e7e3000, 0xf8208193, 0xf83101b6,
|
||||
0xf83c13fe, 0xf821239a, 0xf824309e, 0xf826535e,
|
||||
0xf8304109, 0xf82c7280, 0xf8216058, 0xf8a08309,
|
||||
0xf8ba03d0, 0xf8a312ea, 0xf8aa21e4, 0xf8a2310b,
|
||||
0xf8aa522f, 0xf8a2418a, 0xf8ac71af, 0xf8a26287,
|
||||
0xf8fa8090, 0xf8e20184, 0xf8f01215, 0xf8f022ab,
|
||||
0xf8f7334c, 0xf8f751dc, 0xf8eb4038, 0xf8ec715f,
|
||||
0xf8f06047, 0xf863826d, 0xf8710070, 0xf86113cb,
|
||||
0xf86521e8, 0xf87d301e, 0xf8745287, 0xf87742bc,
|
||||
0xf87b70b9, 0xf8616217, 0xb83f8185, 0xb82901fc,
|
||||
0xb83d13f6, 0xb83320bf, 0xb82e33f0, 0xb830529b,
|
||||
0xb830416c, 0xb82973c6, 0xb831639b, 0xb8be8147,
|
||||
0xb8b4008a, 0xb8b81231, 0xb8b623a3, 0xb8af3276,
|
||||
0xb8b35056, 0xb8af4186, 0xb8b071ab, 0xb8b763c1,
|
||||
0xb8f38225, 0xb8e202d0, 0xb8ed12aa, 0xb8fd219b,
|
||||
0xb8fb3023, 0xb8ff5278, 0xb8f14389, 0xb8fb70ef,
|
||||
0xb8f563f7, 0xb87983e2, 0xb87b0150, 0xb8771073,
|
||||
0xb8702320, 0xb87a3057, 0xb870508c, 0xb87c43be,
|
||||
0xb87070db, 0xb86961fd, 0xce273c87, 0xce080ac9,
|
||||
0xce7e8e9b, 0xce808b45, 0xce79806e, 0xce758768,
|
||||
0xcec0835a, 0xce608ad8, 0x2520d264, 0x2521cf80,
|
||||
0x058074c1, 0x054242c9, 0x05004476, 0x25a0df08,
|
||||
0x25a1c206, 0x0583288b, 0x05401c3a, 0x05027e8d,
|
||||
0x2520ce05, 0x25a1cb0a, 0x0580989a, 0x0540e096,
|
||||
0x0500fb73, 0x2560c2ce, 0x2521d590, 0x05803e97,
|
||||
0x05400d31, 0x05003ed0, 0x2520c623, 0x25a1cdd1,
|
||||
0x058052ac, 0x0540ba33, 0x05003ed7, 0x25a0c6cd,
|
||||
0x2521cf00, 0x0583c5b1, 0x05407336, 0x05001e62,
|
||||
0x04e400f4, 0x04a80407, 0x65c402d3, 0x65cb0ac9,
|
||||
0x659007c5, 0x0456ac36, 0x04c01608, 0x049a048f,
|
||||
0x041087a8, 0x04dab3bc, 0x04590c49, 0x041380fc,
|
||||
0x0451963a, 0x04d012a8, 0x0497b6a5, 0x049eb3b6,
|
||||
0x04980093, 0x04080677, 0x040a1a77, 0x04c109c8,
|
||||
0x049cbeb1, 0x65c0815e, 0x658d812c, 0x65c69098,
|
||||
0x65c78b66, 0x65c293cd, 0x04ddb7d6, 0x6582ae69,
|
||||
0x6580bd34, 0x6581ae6d, 0x658daa78, 0x65819211,
|
||||
0x65a78160, 0x65ef108e, 0x65f52145, 0x65f34123,
|
||||
0x65b3786a, 0x04555db7, 0x049e6e3a, 0x043d304e,
|
||||
0x04a73295, 0x047a3022, 0x04f13209, 0x05e26880,
|
||||
0x05ab6cce, 0x045a33ae, 0x045822c3, 0x04193b63,
|
||||
0x04c834f3, 0x044a2cb5, 0x65c726b9, 0x65862071,
|
||||
0x65982cf3, 0x0441322e,
|
||||
0x2518e021, 0x2518e0a1, 0x2518e121, 0x2518e1a1,
|
||||
0x2558e3e2, 0x2558e042, 0x2558e0c2, 0x2558e142,
|
||||
0x2598e3e3, 0x2598e063, 0x2598e0e3, 0x2598e163,
|
||||
0x25d8e3e4, 0x25d8e084, 0x25d8e104, 0x25d8e184,
|
||||
0x2518e407, 0x05214800, 0x05614800, 0x05a14800,
|
||||
0x05e14800, 0x05214c00, 0x05614c00, 0x05a14c00,
|
||||
0x05e14c00, 0x05304001, 0x05314001, 0x1e601000,
|
||||
0x1e603000, 0x1e621000, 0x1e623000, 0x1e641000,
|
||||
0x1e643000, 0x1e661000, 0x1e663000, 0x1e681000,
|
||||
0x1e683000, 0x1e6a1000, 0x1e6a3000, 0x1e6c1000,
|
||||
0x1e6c3000, 0x1e6e1000, 0x1e6e3000, 0x1e701000,
|
||||
0x1e703000, 0x1e721000, 0x1e723000, 0x1e741000,
|
||||
0x1e743000, 0x1e761000, 0x1e763000, 0x1e781000,
|
||||
0x1e783000, 0x1e7a1000, 0x1e7a3000, 0x1e7c1000,
|
||||
0x1e7c3000, 0x1e7e1000, 0x1e7e3000, 0xf8208193,
|
||||
0xf83101b6, 0xf83c13fe, 0xf821239a, 0xf824309e,
|
||||
0xf826535e, 0xf8304109, 0xf82c7280, 0xf8216058,
|
||||
0xf8a08309, 0xf8ba03d0, 0xf8a312ea, 0xf8aa21e4,
|
||||
0xf8a2310b, 0xf8aa522f, 0xf8a2418a, 0xf8ac71af,
|
||||
0xf8a26287, 0xf8fa8090, 0xf8e20184, 0xf8f01215,
|
||||
0xf8f022ab, 0xf8f7334c, 0xf8f751dc, 0xf8eb4038,
|
||||
0xf8ec715f, 0xf8f06047, 0xf863826d, 0xf8710070,
|
||||
0xf86113cb, 0xf86521e8, 0xf87d301e, 0xf8745287,
|
||||
0xf87742bc, 0xf87b70b9, 0xf8616217, 0xb83f8185,
|
||||
0xb82901fc, 0xb83d13f6, 0xb83320bf, 0xb82e33f0,
|
||||
0xb830529b, 0xb830416c, 0xb82973c6, 0xb831639b,
|
||||
0xb8be8147, 0xb8b4008a, 0xb8b81231, 0xb8b623a3,
|
||||
0xb8af3276, 0xb8b35056, 0xb8af4186, 0xb8b071ab,
|
||||
0xb8b763c1, 0xb8f38225, 0xb8e202d0, 0xb8ed12aa,
|
||||
0xb8fd219b, 0xb8fb3023, 0xb8ff5278, 0xb8f14389,
|
||||
0xb8fb70ef, 0xb8f563f7, 0xb87983e2, 0xb87b0150,
|
||||
0xb8771073, 0xb8702320, 0xb87a3057, 0xb870508c,
|
||||
0xb87c43be, 0xb87070db, 0xb86961fd, 0xce273c87,
|
||||
0xce080ac9, 0xce7e8e9b, 0xce808b45, 0xce79806e,
|
||||
0xce758768, 0xcec0835a, 0xce608ad8, 0x2520d264,
|
||||
0x2521cf80, 0x058074c1, 0x054242c9, 0x05004476,
|
||||
0x25a0df08, 0x25a1c206, 0x0583288b, 0x05401c3a,
|
||||
0x05027e8d, 0x2520ce05, 0x25a1cb0a, 0x0580989a,
|
||||
0x0540e096, 0x0500fb73, 0x2560c2ce, 0x2521d590,
|
||||
0x05803e97, 0x05400d31, 0x05003ed0, 0x2520c623,
|
||||
0x25a1cdd1, 0x058052ac, 0x0540ba33, 0x05003ed7,
|
||||
0x25a0c6cd, 0x2521cf00, 0x0583c5b1, 0x05407336,
|
||||
0x05001e62, 0x04e400f4, 0x04a80407, 0x65c402d3,
|
||||
0x65cb0ac9, 0x659007c5, 0x0456ac36, 0x04c01608,
|
||||
0x049a048f, 0x041087a8, 0x04dab3bc, 0x04590c49,
|
||||
0x041380fc, 0x0451963a, 0x04d012a8, 0x0497b6a5,
|
||||
0x049eb3b6, 0x04980093, 0x04080677, 0x040a1a77,
|
||||
0x04c109c8, 0x049cbeb1, 0x65c0815e, 0x658d812c,
|
||||
0x65c69098, 0x65c78b66, 0x65c293cd, 0x04ddb7d6,
|
||||
0x6582ae69, 0x6580bd34, 0x6581ae6d, 0x658daa78,
|
||||
0x65819211, 0x65a78160, 0x65ef108e, 0x65f52145,
|
||||
0x65f34123, 0x65b3786a, 0x04555db7, 0x049e6e3a,
|
||||
0x043d304e, 0x04a73295, 0x047a3022, 0x04f13209,
|
||||
0x05e26880, 0x05ab6cce, 0x045a33ae, 0x045822c3,
|
||||
0x04193b63, 0x04c834f3, 0x044a2cb5, 0x65c726b9,
|
||||
0x65862071, 0x65982cf3, 0x0441322e,
|
||||
};
|
||||
// END Generated code -- do not edit
|
||||
|
67
test/hotspot/jtreg/compiler/c1/Test8271202.java
Normal file
67
test/hotspot/jtreg/compiler/c1/Test8271202.java
Normal file
@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8271202
|
||||
* @requires vm.debug == true & vm.compiler1.enabled
|
||||
* @run main/othervm -Xbatch -XX:TieredStopAtLevel=1 -XX:+DeoptimizeALot
|
||||
* Test8271202
|
||||
*/
|
||||
|
||||
public class Test8271202 {
|
||||
public static void main(String[] strArr) {
|
||||
try {
|
||||
test();
|
||||
} catch (Exception e) {
|
||||
// Expected
|
||||
}
|
||||
}
|
||||
|
||||
static void test() {
|
||||
long l6 = 10L;
|
||||
int counter = 0;
|
||||
int i2, i26, i29, iArr[] = new int[400];
|
||||
boolean b3 = true;
|
||||
for (int smallinvoc = 0; smallinvoc < 139; smallinvoc++) {
|
||||
}
|
||||
for (i2 = 13; i2 < 1000; i2++) {
|
||||
for (i26 = 2; i26 < 114; l6 += 2) {
|
||||
// Infinite loop
|
||||
if (b3) {
|
||||
for (i29 = 1; i29 < 2; i29++) {
|
||||
try {
|
||||
iArr[i26] = 0;
|
||||
} catch (ArithmeticException a_e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
counter++;
|
||||
if (counter == 100000) {
|
||||
throw new RuntimeException("expected");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5617,5 +5617,12 @@ public class Byte128VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueByte128VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5617,5 +5617,12 @@ public class Byte256VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueByte256VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5617,5 +5617,12 @@ public class Byte512VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueByte512VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5617,5 +5617,12 @@ public class Byte64VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueByte64VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5606,5 +5606,12 @@ public class ByteMaxVectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueByteMaxVectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4996,5 +4996,12 @@ public class Double128VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueDouble128VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4996,5 +4996,12 @@ public class Double256VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueDouble256VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4996,5 +4996,12 @@ public class Double512VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueDouble512VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4996,5 +4996,12 @@ public class Double64VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueDouble64VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4985,5 +4985,12 @@ public class DoubleMaxVectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueDoubleMaxVectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4974,5 +4974,12 @@ public class Float128VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueFloat128VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4974,5 +4974,12 @@ public class Float256VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueFloat256VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4974,5 +4974,12 @@ public class Float512VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueFloat512VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4974,5 +4974,12 @@ public class Float64VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueFloat64VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4963,5 +4963,12 @@ public class FloatMaxVectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueFloatMaxVectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5571,5 +5571,12 @@ public class Int128VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueInt128VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5571,5 +5571,12 @@ public class Int256VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueInt256VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5571,5 +5571,12 @@ public class Int512VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueInt512VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5571,5 +5571,12 @@ public class Int64VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueInt64VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5560,5 +5560,12 @@ public class IntMaxVectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueIntMaxVectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5455,5 +5455,12 @@ public class Long128VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueLong128VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5455,5 +5455,12 @@ public class Long256VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueLong256VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5455,5 +5455,12 @@ public class Long512VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueLong512VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5455,5 +5455,12 @@ public class Long64VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueLong64VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5444,5 +5444,12 @@ public class LongMaxVectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueLongMaxVectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5596,5 +5596,12 @@ public class Short128VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueShort128VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5596,5 +5596,12 @@ public class Short256VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueShort256VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5596,5 +5596,12 @@ public class Short512VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueShort512VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5596,5 +5596,12 @@ public class Short64VectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueShort64VectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5585,5 +5585,12 @@ public class ShortMaxVectorTests extends AbstractVectorTest {
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrueShortMaxVectorTestsSmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -602,3 +602,10 @@
|
||||
VectorSpecies species = av.species().withShape(vsh);
|
||||
assert(species.equals(SPECIES));
|
||||
}
|
||||
|
||||
@Test
|
||||
static void MaskAllTrue$vectorteststype$SmokeTest() {
|
||||
for (int ic = 0; ic < INVOC_COUNT; ic++) {
|
||||
Assert.assertEquals(SPECIES.maskAll(true).toLong(), -1L >>> (64 - SPECIES.length()));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user