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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2026-10-14

--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> ---
https://support.arm.com/documentation/ddi0487/maa/-Part-C-The-AArch64-Instruction-Set/-Chapter-C6-A64-Base-Instruction-Descriptions/-C6-2-Alphabetical-list-of-A64-base-instructions/-C6-2-459-SUBP?lang=en


(define_insn "subp"
  [(set (match_operand:DI 0 "register_operand" "=r")
        (minus:DI
          (and:DI (match_operand:DI 1 "register_operand" "rk")
                  (const_int MEMTAG_ADDR_MASK))
          (and:DI (match_operand:DI 2 "register_operand" "rk")
                  (const_int MEMTAG_ADDR_MASK))))]
  "TARGET_MEMTAG"
  "subp\\t%0, %1, %2"
  [(set_attr "type" "memtag")]



Confirmed.  Yes this is wrong.

Which was added with r10-4827-gef01e6bbeb7e7e .

I might have a look tomorrow.

But I think all of the memtag instructions are incorrectly modeled too.  So it
might take me a while to fix this.

Reply via email to