Skip to content

Commit a824781

Browse files
committed
8255210: [Vector API] jdk/incubator/vector/Int256VectorTests.java crashes on AVX512 machines
Reviewed-by: psandoz, sviswanathan, jbhateja
1 parent 2ca7a08 commit a824781

File tree

1 file changed

+2
-22
lines changed

1 file changed

+2
-22
lines changed

src/hotspot/cpu/x86/x86.ad

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4424,9 +4424,9 @@ instruct insert8D(vec dst, vec src, regD val, immI idx, rRegL tmp, legVec vtmp)
44244424

44254425
// =======================Int Reduction==========================================
44264426

4427-
instruct reductionI(rRegI dst, rRegI src1, vec src2, vec vtmp1, vec vtmp2) %{
4427+
instruct reductionI(rRegI dst, rRegI src1, legVec src2, legVec vtmp1, legVec vtmp2) %{
44284428
predicate(vector_element_basic_type(n->in(2)) == T_INT &&
4429-
vector_length(n->in(2)) < 16); // src2
4429+
vector_length(n->in(2)) <= 16); // src2
44304430
match(Set dst (AddReductionVI src1 src2));
44314431
match(Set dst (MulReductionVI src1 src2));
44324432
match(Set dst (AndReductionV src1 src2));
@@ -4444,26 +4444,6 @@ instruct reductionI(rRegI dst, rRegI src1, vec src2, vec vtmp1, vec vtmp2) %{
44444444
ins_pipe( pipe_slow );
44454445
%}
44464446

4447-
instruct reduction16I(rRegI dst, rRegI src1, legVec src2, legVec vtmp1, legVec vtmp2) %{
4448-
predicate(vector_element_basic_type(n->in(2)) == T_INT &&
4449-
vector_length(n->in(2)) == 16); // src2
4450-
match(Set dst (AddReductionVI src1 src2));
4451-
match(Set dst (MulReductionVI src1 src2));
4452-
match(Set dst (AndReductionV src1 src2));
4453-
match(Set dst ( OrReductionV src1 src2));
4454-
match(Set dst (XorReductionV src1 src2));
4455-
match(Set dst (MinReductionV src1 src2));
4456-
match(Set dst (MaxReductionV src1 src2));
4457-
effect(TEMP vtmp1, TEMP vtmp2);
4458-
format %{ "vector_reduction_int $dst,$src1,$src2 ; using $vtmp1, $vtmp2 as TEMP" %}
4459-
ins_encode %{
4460-
int opcode = this->ideal_Opcode();
4461-
int vlen = vector_length(this, $src2);
4462-
__ reduceI(opcode, vlen, $dst$$Register, $src1$$Register, $src2$$XMMRegister, $vtmp1$$XMMRegister, $vtmp2$$XMMRegister);
4463-
%}
4464-
ins_pipe( pipe_slow );
4465-
%}
4466-
44674447
// =======================Long Reduction==========================================
44684448

44694449
#ifdef _LP64

0 commit comments

Comments
 (0)