------- Comment #7 from law at redhat dot com 2009-09-30 14:47 ------- Subject: Re: GCC choosing poor code sequence for certain stores (x86)
On 09/30/09 03:22, jakub at gcc dot gnu dot org wrote: > ------- Comment #6 from jakub at gcc dot gnu dot org 2009-09-30 09:22 ------- > For x86-64 we perhaps want further checks for the size optimization - if the > scratch register is %r8d through %r15d, 3 byte xorl %r8d, %r8d and e.g. 3 byte > movl %r8d, (%rdx) won't be shorter than movl $0, (%rdx) which is 6 bytes). > And likely the 2 insns will be slower. > But if the address already needs rex prefix, it is still a win. > > > Do we have any good way to test if the address needs a rex prefix? I see the rex_prefix attribute in i386.md, but that's for testing an entire insn and based on my quick reading of i386.md it's not complete as many insns set the attribute explicitly. Jeff -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41505