------- Comment #27 from hjl dot tools at gmail dot com 2008-11-30 20:52 ------- (In reply to comment #26) > Resurrecting regmove is not an option. Time is better spent on figuring out > what regmove does, that makes a difference, and see if IRA can be taught to do > the same. >
x86 has (define_insn "*movdi_1_rex64" [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r ,r,m ,!m,*y,*y,?r ,m ,?*Ym,?*y,*x,*x,?r ,m,?*Yi,*x,?*x,?*Ym") (match_operand:DI 1 "general_operand" "Z ,rem,i,re,n ,C ,*y,*Ym,*y,r ,m ,C ,*x,*Yi,*x,r ,m ,*Ym,*x"))] "TARGET_64BIT && !(MEM_P (operands[0]) && MEM_P (operands[1]))" The alternative with * is available for regmove, but not for IRA/reload. I don't know how you can resolve it without a different pass. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37364