Source: void p(int *a, int i) { __builtin_prefetch(&a[i]); } > gcc -O3 -fomit-frame-pointer -S prefetch.c _p: movslq %esi, %rsi leaq (%rdi,%rsi,4), %rax prefetcht0 (%rax) ret
leaq and prefetch should be merged. -- Summary: x86 prefetch doesn't use complex memory addressing Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: astrange at ithinksw dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43766