This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386]: Fix PR target/43766, x86 prefetch doesn't use complex memory addressing
On Sun, Apr 25, 2010 at 10:58 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Sun, Apr 25, 2010 at 10:52 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>> On 04/25/2010 06:07 PM, H.J. Lu wrote:
>>
>>>> 2010-04-19 ïUros Bizjak ï<ubizjak@gmail.com>
>>>>
>>>> ï ï ï ïPR target/43766
>>>> ï ï ï ï* gcc.target/i386/pr43766.c: New test.
>>>>
>>>> Patch was tested on x86_64-pc-linux-gnu {,-m32}. Patch was committed
>>>> to mainline.
>>>>
>>>> Uros.
>>>>
>>>
>>> The new test failed with
>>>
>>>    pushl  %ebp
>>> Â Â Â prefetcht0 Â Â Â(%eax,%edx,4)
>>>    movl  Â%esp, %ebp
>>> Â Â Â leave
>>> Â Â Â ret
>>>
>>> since it scans "lea". ÂI checked this patch as an obvious fix,
>>
>> Actually, it was done on purpose, we want to avoid leaq and leal.
>>
>
> Then we should scan leaq and leal explicitly.
>
I checked in this.
Thanks.
--
H.J.
---
Index: ChangeLog
===================================================================
--- ChangeLog (revision 158709)
+++ ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2010-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr43766.c: Scan "lea\[lq\]?\[ \t\]" instead
+ of "lea\[ \t\]".
+
2010-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/default_format_denormal_2.f90: Remove XFAIL for FreeBSD.
Index: gcc.target/i386/pr43766.c
===================================================================
--- gcc.target/i386/pr43766.c (revision 158708)
+++ gcc.target/i386/pr43766.c (working copy)
@@ -7,4 +7,4 @@ void p (int *a, int i)
__builtin_prefetch (&a[i]);
}
-/* { dg-final { scan-assembler-not "lea\[ \t\]" } } */
+/* { dg-final { scan-assembler-not "lea\[lq\]?\[ \t\]" } } */