config/sparc/sparc.md has a wrong condition at 980210.

Teemu Torma tot@Trema.COM
Tue Feb 10 05:50:00 GMT 1998


I suspect that movdi_v8plus has wrong condition in sparc.md
(TARGET_V8PLUS), since it generates `stx' assembler instruction
that is not recognized by Sun or GNU as.  Compiling of libgcc2
fails if configured --with-cpu=ultrasparc because of assembler error.
I think the condition should be TARGET_ARCH64.

Teemu

Index: config/sparc/sparc.md
===================================================================
RCS file: /trema/cvs/gnu/egcs/gcc/config/sparc/sparc.md,v
retrieving revision 1.1.1.7
diff -c -c -3 -p -r1.1.1.7 sparc.md
*** sparc.md	1998/02/10 09:38:34	1.1.1.7
--- sparc.md	1998/02/10 13:44:54
***************
*** 2147,2153 ****
  (define_insn "*movdi_v8plus"
    [(set (match_operand:DI 0 "reg_or_nonsymb_mem_operand" "=r,T,Q,r,r,f,f,Q,b")
        (match_operand:DI 1 "general_operand" "r,J,r,Q,i,?f,?Q,?f,?J"))]
!   "TARGET_V8PLUS
     && (register_operand (operands[0], DImode)
         || register_operand (operands[1], DImode)
         || operands[1] == const0_rtx)"
--- 2147,2153 ----
  (define_insn "*movdi_v8plus"
    [(set (match_operand:DI 0 "reg_or_nonsymb_mem_operand" "=r,T,Q,r,r,f,f,Q,b")
        (match_operand:DI 1 "general_operand" "r,J,r,Q,i,?f,?Q,?f,?J"))]
!   "TARGET_ARCH64
     && (register_operand (operands[0], DImode)
         || register_operand (operands[1], DImode)
         || operands[1] == const0_rtx)"



More information about the Gcc-bugs mailing list