Hi all!

During my investigation I found that GCC does not performs load/store widening (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65088). Could you please answer is it so? And is there any plans to make it? I also would like to know is there any need to make load/store widening exclusively in ASan phase just for reducing number of ASAN_CHECKS?

Example from the bug:

$ cat t2.c

int a[2];
int b[2];

int main ()
{
  b[0] = a[0];
  b[1] = a[1];
  return 0;
}

$ gcc t2.c -O3 -S

$ cat t2.s

...

main:
.LFB0:
        .cfi_startproc
        movl    a(%rip), %eax
        movl    %eax, b(%rip)
        movl    a+4(%rip), %eax
        movl    %eax, b+4(%rip)
        xorl    %eax, %eax
        ret
        .cfi_endproc



I will be very appreciate for your answers and thoughts.

--Marat

Reply via email to