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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |middle-end
           Severity|normal                      |enhancement
   Last reconfirmed|                            |2021-01-25
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Slight complication arises because people will want to have cmoves with a
memory destination.  So possibly

void __builtin_cmov (T *dest, bool, T, T, void *);

preferably usable in a type-generic way.  The void * is at least internally
required to carry type-based alias info of the destination.

That won't solve the eventual request to have cmov _from_ memory ... (if we
leave all of the memory combining to RTL people will again complain that
it's subject to compilers discretion).

Reply via email to