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