--- Comment #3 from uros at kss-loka dot si 2005-11-04 12:19 ---
Following patch to ix86_address_cost:
--- i386.c (revision 106482)
+++ i386.c (working copy)
@@ -5396,8 +5396,12 @@
if (parts.index && GET_CODE (parts.index) == SUBREG)
parts.index = SUBREG_REG (parts.ind
--- Comment #2 from rakdver at gcc dot gnu dot org 2005-11-04 10:35 ---
There are two reasons we do not produce the code as in the comment #1:
1) This would require reversing the loop, which is currently implemented in
mainline only in old loop optimizer, in a very weak fashion. More po
--- Comment #1 from uros at kss-loka dot si 2005-11-04 09:20 ---
-fno-ivopts produces:
movl16(%esp), %edi
movl20(%esp), %esi
xorl%ebx, %ebx
movl$4, %ecx <<< index starts with 1
.L2:
leal(%ebx,%ebx), %edx
mo