This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch to rs6000/eabispe.h and rs6000/linuxspe.h to disallow -m64
On Thu, Oct 14, 2004 at 08:17:56PM -0400, Aldy Hernandez wrote:
> On Thu, Oct 14, 2004 at 04:01:53PM -0700, Geoff Keating wrote:
> >
> > On 14/10/2004, at 3:15 PM, Daniel Jacobowitz wrote:
> >
> > >On Thu, Oct 14, 2004 at 02:25:48PM -0700, Geoff Keating wrote:
> > >>This is OK. The alternative would be to define a special movsi
> > >>pattern
> > >>for !TARGET_FPRS (and then a dozen more for each possible
> > >>register/flag
> > >>combination), which doesn't sound like a winning approach to .md file
> > >>design.
> > >
> > >David pointed out that this applies to TARGET_SOFT_FLOAT also
> > >(personally, I'd have TARGET_SOFT_FLOAT imply !TARGET_FPRS...).
> >
> > I would too...
>
> Me three.
>
> Daniel, the tests finished. Things look horrendous, but better.
>
> For example:
>
> FAIL: gcc.c-torture/compile/930623-1.c (test for excess errors)
> Excess errors:
> /source/uber/gcc/testsuite/gcc.c-torture/compile/930623-1.c:7: error: insn does
> not satisfy its constraints:
> (insn 104 146 58 (set (reg:DI 33 1)
> (mem:DI (plus:SI (reg/f:SI 31 31)
> (const_int 48 [0x30])) [0 S8 A8])) 338 {*movdi_internal32} (nil) (nil))
>
> But this is much better than the current status. Feel free to commit
> if you haven't already done so.
reg:DI 33 is fr1. Certainly this should fail its constraints on SPE -
since that register doesn't exist, and FLOAT_REGS doesn't include it,
and it's fixed. We'll have to track down how it got chosen...
--
Daniel Jacobowitz