Is Gcc broken on x86-64?
Jakub Jelinek
jakub@redhat.com
Sun Aug 8 19:23:00 GMT 2004
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
More information about the Gcc
mailing list