Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8260759 | openjdk8u292 | Andrew Hughes | P4 | Resolved | Fixed | b01 |
The pipeline class for several instructions is not set correctly and this affects the C2 instruction scheduling.
Examples:
13398 instruct MoveF2I_reg_reg(iRegINoSp dst, vRegF src) %{
13399
13400 match(Set dst (MoveF2I src));
13401
13402 effect(DEF dst, USE src);
13403
13404 ins_cost(INSN_COST);
13405
13406 format %{ "fmovs $dst, $src\t# MoveF2I_reg_reg" %}
13407
13408 ins_encode %{
13409 __ fmovs($dst$$Register, as_FloatRegister($src$$reg));
13410 %}
13411
13412 ins_pipe(pipe_class_memory); // Should be "fp_f2i"
13413
13414 %}
16759 instruct vsll2L_imm(vecX dst, vecX src, immI shift) %{
16760 predicate(n->as_Vector()->length() == 2);
16761 match(Set dst (LShiftVL src shift));
16762 ins_cost(INSN_COST);
16763 format %{ "shl $dst, $src, $shift\t# vector (2D)" %}
16764 ins_encode %{
16765 __ shl(as_FloatRegister($dst$$reg), __ T2D,
16766 as_FloatRegister($src$$reg),
16767 (int)$shift$$constant & 63);
16768 %}
16769 ins_pipe(vshift128); // Should be "vshift128_imm"
16770 %}
Examples:
13398 instruct MoveF2I_reg_reg(iRegINoSp dst, vRegF src) %{
13399
13400 match(Set dst (MoveF2I src));
13401
13402 effect(DEF dst, USE src);
13403
13404 ins_cost(INSN_COST);
13405
13406 format %{ "fmovs $dst, $src\t# MoveF2I_reg_reg" %}
13407
13408 ins_encode %{
13409 __ fmovs($dst$$Register, as_FloatRegister($src$$reg));
13410 %}
13411
13412 ins_pipe(pipe_class_memory); // Should be "fp_f2i"
13413
13414 %}
16759 instruct vsll2L_imm(vecX dst, vecX src, immI shift) %{
16760 predicate(n->as_Vector()->length() == 2);
16761 match(Set dst (LShiftVL src shift));
16762 ins_cost(INSN_COST);
16763 format %{ "shl $dst, $src, $shift\t# vector (2D)" %}
16764 ins_encode %{
16765 __ shl(as_FloatRegister($dst$$reg), __ T2D,
16766 as_FloatRegister($src$$reg),
16767 (int)$shift$$constant & 63);
16768 %}
16769 ins_pipe(vshift128); // Should be "vshift128_imm"
16770 %}
- backported by
-
JDK-8260759 aarch64: pipeline class for several instructions is not set correctly
- Resolved
- relates to
-
JDK-8257192 Integrate AArch64 JIT port into 8u
- Resolved