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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-04-09
   Target Milestone|---                         |10.0
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
           Keywords|                            |wrong-code
             Status|UNCONFIRMED                 |NEW
            Summary|gcc.dg/alias-14.c fails on  |[10 Regression]
                   |gcc 10, succeeds on gcc 9,  |gcc.dg/alias-14.c fails on
                   |when turned into an         |gcc 10, succeeds on gcc 9,
                   |execution test              |when turned into an
                   |                            |execution test

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
On x86_64 we're failing

  /* Again we should make void * in the structure conflict with any pointer. 
*/
  asm ("":"=r"(ptr):"0"(&c));
  c.a=NULL;
  *ptr=(float*)(size_t)1;
  if (!c.a)
    __builtin_abort ();

and at that point FRE1 already has

  <bb 10> :
  __asm__("" : "=r" ptr_23 : "0" &b);
  *ptr_23 = 1B;
  __asm__("" : "=r" ptr_26 : "0" &c);
  c.a = 0B;
  *ptr_26 = 1B;
  __builtin_abort ();

I'll have a more detailed look.

Reply via email to