[Bug middle-end/37364] [4.4 Regression] IRA generates inefficient code
hjl dot tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Sep 4 20:18:00 GMT 2008
------- Comment #9 from hjl dot tools at gmail dot com 2008-09-04 20:17 -------
I am concerned about those "*Yi"/"*Ym" and "r" pairs:
[hjl@gnu-6 i386]$ grep "\*Yi" *.md
i386.md: "=r,m ,*y,*y,?rm,?*y,*x,*x,?r ,m ,?*Yi,*x")
i386.md: "g ,ri,C ,*y,*y ,rm ,C ,*x,*Yi,*x,r ,m "))]
i386.md: "=r,r ,r,m ,!m,*y,*y,?r ,m ,?*Ym,?*y,*x,*x,?r
,m,?*Yi,*x,?*x,?*Ym")
i386.md: "Z ,rem,i,re,n ,C ,*y,*Ym,*y,r ,m ,C ,*x,*Yi,*x,r ,m
,*Ym,*x"))]
i386.md: [(set (match_operand:DI 0 "nonimmediate_operand"
"=r,?r,?o,?*Ym,?*y,?*Yi,*Y2")
i386.md: [(set (match_operand:DI 0 "nonimmediate_operand"
"=r,o,?*Ym,?*y,?*Yi,*Y2")
[hjl@gnu-6 i386]$ grep "\*Ym" *.md
i386.md: "=r,r ,r,m ,!m,*y,*y,?r ,m ,?*Ym,?*y,*x,*x,?r
,m,?*Yi,*x,?*x,?*Ym")
i386.md: "Z ,rem,i,re,n ,C ,*y,*Ym,*y,r ,m ,C ,*x,*Yi,*x,r ,m
,*Ym,*x"))]
i386.md: "=f,m,f,r ,m ,x,x,x ,m,!*y,!m,!*y,?Yi,?r,!*Ym,!r")
i386.md: "fm,f,G,rmF,Fr,C,x,xm,x,m ,*y,*y ,r ,Yi,r ,*Ym"))]
i386.md: [(set (match_operand:DI 0 "nonimmediate_operand"
"=r,?r,?o,?*Ym,?*y,?*Yi,*Y2")
i386.md: [(set (match_operand:DI 0 "nonimmediate_operand"
"=r,o,?*Ym,?*y,?*Yi,*Y2")
[hjl@gnu-6 i386]$
IRA is much more sensitive to "*" constraint. We can ignore "*Ym"/"r" pairs.
But should we remove * from "*Yi"/"r" pairs?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37364
More information about the Gcc-bugs
mailing list