This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]