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

Jiu Fu Guo <guojiufu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #12 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> ---
The generated code is a lot better on the trunk (both -O2 and -O3):
        .cfi_startproc
        dcmpuq 0,4,6
        beq 0,.L4
        blr
        .p2align 4,,15
.L4:
        fmr 5,7
        fmr 4,6
        fmr 3,7
        fmr 2,6
        blr


And the expanded RTL like below, and cse/fwprop/dse optimize it as expected. 
    2: r119:TD=%2:TD
    3: r120:TD=%4:TD
    4: r121:TD=%6:TD
    5: NOTE_INSN_FUNCTION_BEG
   10: r122:CCFP=cmp(r120:TD,r121:TD)
   11: pc={(r122:CCFP!=0)?L13:pc}
      REG_BR_PROB 708669604
   12: NOTE_INSN_BASIC_BLOCK 4
    6: r120:TD=r121:TD
    7: r119:TD=r121:TD
   13: L13:
   14: NOTE_INSN_BASIC_BLOCK 5
   15: r123:DI=r112:DI+0x10
   16: [r123:DI]=r120:TD
   17: [r112:DI]=r119:TD
   18: r124:TD=[r112:DI]
   19: r126:DI=r112:DI+0x10
   20: r125:TD=[r126:DI]
   21: r117:TD=r124:TD
   22: r118:TD=r125:TD
   26: %2:TD=r117:TD
   27: %4:TD=r118:TD
   28: use %2:TD
   29: use %4:TD

Reply via email to