https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115258

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-05-28
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

Though the register allocation before was also just "lucky".
(define_insn_and_split "aarch64_combinev16qi"
  [(set (match_operand:V2x16QI 0 "register_operand" "=w")
        (unspec:V2x16QI [(match_operand:V16QI 1 "register_operand" "w")
                         (match_operand:V16QI 2 "register_operand" "w")]
                        UNSPEC_CONCAT))]
  "TARGET_SIMD"
  "#"
  "&& reload_completed"
  [(const_int 0)]
{
  aarch64_split_combinev16qi (operands);
  DONE;
}
[(set_attr "type" "multiple")]
)


It seems like for little-endian the constraint on 1 should include 0. But I
could be wrong.

Reply via email to