This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Is Gcc broken on x86-64?
On Sun, Aug 08, 2004 at 02:32:59PM -0400, Jakub Jelinek wrote:
> On Fri, Aug 06, 2004 at 05:02:05PM -0700, H. J. Lu wrote:
> > Hi Jakub,
> >
> > Did you test your patch
> >
> > http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00305.html
> >
> > on x86-64? I got
>
> Yes (it is my primary devel platform now).
>
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16909
>
> But strset is an expand and it expands to a movq $0, (%rdi)
> unless -mtune=nocona.
>
> The bug is elsewhere:
>
> (define_insn "*strsetdi_rex_1"
> [(set (mem:SI (match_operand:DI 1 "register_operand" "0"))
> (match_operand:SI 2 "register_operand" "a"))
> (set (match_operand:DI 0 "register_operand" "=D")
> (plus:DI (match_dup 1)
> (const_int 8)))
> (use (reg:SI DIRFLAG_REG))]
> "TARGET_64BIT && (TARGET_SINGLE_STRINGOP || optimize_size)"
>
> is wrong, it should be mem:DI and match_operand:DI 2.
See
http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00467.html
H.J.