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.