This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 971122 for arm-coff dies building newlib/libm: testcase attached
- To: Robin Kirkham <Robin dot Kirkham at mlb dot dmt dot csiro dot au>
- Subject: Re: 971122 for arm-coff dies building newlib/libm: testcase attached
- From: Richard Earnshaw <rearnsha at arm dot com>
- Date: Thu, 27 Nov 1997 12:32:25 +0000
- Cc: egcs at cygnus dot com
- Cc: rearnsha at arm dot com
- Organization: Advanced RISC Machines Ltd.
- Reply-To: richard dot earnshaw at arm dot com
This patch was checked into the gcc2 sources back in October to fix
precisely this bug. There are a large number of ARM related patches that
have been made to the gcc2 tree that have not yet propagated to egcs (ie
most of them). I thought there were going to be regular merges of gcc2
changes into the egcs tree?
Fri Oct 17 13:00:38 EDT 1997 Richard Earnshaw (rearnsha@arm.com)
* arm.md (movsfcc): If not TARGET_HARD_FLOAT, ensure operand[3]
valid.
Index: arm.md
===================================================================
RCS file: /plg/gnusrc/gnucvs/gcc/config/arm/arm.md,v
retrieving revision 1.1.1.17
retrieving revision 1.1.1.18
diff -p -r1.1.1.17 -r1.1.1.18
*** arm.md 1997/09/05 22:23:29 1.1.1.17
--- arm.md 1997/10/21 09:42:01 1.1.1.18
***************
*** 3887,3894 ****
"
{
enum rtx_code code = GET_CODE (operands[1]);
! rtx ccreg = gen_compare_reg (code, arm_compare_op0, arm_compare_op1,
! arm_compare_fp);
operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
}")
--- 3889,3902 ----
"
{
enum rtx_code code = GET_CODE (operands[1]);
! rtx ccreg;
!
! /* When compiling for SOFT_FLOAT, ensure both arms are in registers. */
! if (! TARGET_HARD_FLOAT)
! operands[3] = force_reg (SFmode, operands[3]);
!
! ccreg = gen_compare_reg (code, arm_compare_op0, arm_compare_op1,
! arm_compare_fp);
operands[1] = gen_rtx (code, VOIDmode, ccreg, const0_rtx);
}")