Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8282528

AArch64: Incorrect replicate2L_zero rule

XMLWordPrintable

    • b18
    • aarch64
    • generic

        instruct replicate2L_zero(vecX dst, immI0 zero)
        %{
          predicate(UseSVE == 0 && n->as_Vector()->length() == 2);
          match(Set dst (ReplicateI zero));
          ins_cost(INSN_COST);
          format %{ "movi $dst, $zero\t# vector (4I)" %}
          ins_encode %{
            __ eor(as_FloatRegister($dst$$reg), __ T16B,
                   as_FloatRegister($dst$$reg),
                   as_FloatRegister($dst$$reg));
          %}
          ins_pipe(vmovi_reg_imm128);
        %}
        This rule outputs vecX, however, it matches ReplicateI node. Should it be ReplicateL?

              eliu Eric Liu
              eliu Eric Liu
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: