https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101322
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2022-08-26
Target|powerpc-*-linux-gnu |powerpc*-*-linux-gnu
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1
Assignee|unassigned at gcc dot gnu.org |bergner at gcc dot
gnu.org
--- Comment #1 from Peter Bergner <bergner at gcc dot gnu.org> ---
Confirmed. I see what the problem is. When we expand the built-in, the cast
to the proper type is lost and we only see a char *vpp. We then use that type
to create a temporary and we end up with a reg:QI rather than a reg:OO.
Is the casted pointer type supposed to be stripped away like that?
Anyway, I can work around that since I know what the temporary type should be
rather than stealing the type from the src operand.