This is the mail archive of the gcc-bugs@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]

sh-elf newlib broken


Compiling libF77/c_log.c with -O2 -m4-single produces:

!(insn 120 129 176 (parallel[ 
!            (set (mem/s:SF (pre_dec:SI (reg/v/f:SI 8 r8 [54])) 3)
!                (reg:SF 22 fpul [87]))
!            (use (reg/v:PSI 48 fpscr))
!            (clobber (scratch:SI))
!        ] ) 91 {movsf_ie} (insn_list 118 (insn_list:REG_DEP_ANTI 73 (insn_list 15 (insn_list:REG_DEP_ANTI 113 (insn_list 174 (nil))))))
!    (expr_list:REG_DEAD (reg/v:PSI 48 fpscr)
!        (expr_list:REG_DEAD (reg:SF 22 fpul [87])
!            (expr_list:REG_UNUSED (scratch:SI)
!                (expr_list:REG_UNUSED (reg/v/f:SI 8 r8 [54])
!                    (expr_list:REG_INC (reg/v/f:SI 8 r8 [54])
!                        (nil)))))))
	sts	fpul,@-r8	! 120	movsf_ie/15	[length = 2]

which the assembler rejects with:

c_log.s:462: Error: invalid operands for opcode

I suspect it's related to:

2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
        * config/sh/sh.md (reload_outsf): Removed.
	(movsf_ie): Introduce constraints for FPUL loads and stores.
	(reload_insf): Broaden the output constraint.

I'm assuming the problem is the asm template for movsf_ie.
Unfortunately I don't speak sh assembler.

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------


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