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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-09-27
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
With -O2 I see

func_1:
.LFB0:
        .cfi_startproc
        movl    e(%rip), %eax
        testl   %eax, %eax
        je      .L2
.L3:
        jmp     .L3
        .p2align 4,,10
        .p2align 3
.L2:
        movq    g_284+8(%rip), %rax
        movq    %rax, g_284(%rip)
        ret

note that with -O1 we retain

  c = g_284[1];
  c$f0_3 = g_284[1].f0;
  c.f0 = c$f0_3;
  g_284[0] = c;

after GIMPLE optimization which possibly explains this compared to

  c = g_284[1];
  g_284[0] = c;

with -O2.

Reply via email to