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

--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> ---
The same applies to FP loads/stores, as this example shows:

float*
test_func_00 (float* p, float* x)
{
  float r = 0;
  r += *p++;
  r += *p++;
  *x = r;
  return p;
}

        fmov.s  @r4+,fr2   ! 7  movsf_ie/6      [length = 4]
        fldi0   fr1        ! 8  movsf_ie/3      [length = 2]
        mov     r4,r0      ! 26 movsi_ie/2      [length = 2]
        fadd    fr2,fr1    ! 9  addsf3_i        [length = 2]
        fmov.s  @r0+,fr2   ! 10 movsf_ie/6      [length = 4]
        fadd    fr2,fr1    ! 11 addsf3_i        [length = 2]
        fmov.s  fr1,@r5    ! 12 movsf_ie/7      [length = 4]
        rts/n              ! 35 *return_i       [length = 4]

Reply via email to