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

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jonathan.wright at arm dot com
           Priority|P3                          |P1
            Summary|[12 Regression] Incorrect   |[12 Regression] AAPCS for
                   |codegen from uint8x8x2_t    |new partial vector mode
                   |function arguments          |types (e.g. V2x8QI) are
                   |                            |incorrect.
           Assignee|unassigned at gcc dot gnu.org      |tnfchris at gcc dot 
gnu.org

--- Comment #5 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
The frame layout and argument layout code for the new structs are incorrect, it
leads to the compiler thinking that every pair of values only use a single
register.

i.e. V2x8QI is 16 bytes long, so the compiler thinks the values are packed in a
single register.  This causes any code that returns or passes these new types
as function arguments to be incorrect.

Mine.

Reply via email to