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 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.

	Jakub


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