public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* SPE scalar float instructions
@ 2004-12-15  3:53 Zack Weinberg
  2004-12-15 15:24 ` Kumar Gala
  2004-12-15 17:16 ` Aldy Hernandez
  0 siblings, 2 replies; 4+ messages in thread
From: Zack Weinberg @ 2004-12-15  3:53 UTC (permalink / raw)
  To: gcc, Aldy Hernandez


Currently, the SPE scalar float instructions are predicated on
TARGET_HARD_FLOAT && !TARGET_FPRS (and TARGET_E500_DOUBLE for DFmode)
but not on TARGET_SPE.  This can cause problems in an embedded context
- as one of CodeSourcery's customers points out,

> This will indeed post a problem, because those instructions require
> MSR[SPE] bit be set, which is not true for all cases.  SPE unavailable
> exception may result.

I'm wondering if TARGET_SPE should be added to the controlling
condition for all those instructions.  Thoughts?

zw

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SPE scalar float instructions
  2004-12-15  3:53 SPE scalar float instructions Zack Weinberg
@ 2004-12-15 15:24 ` Kumar Gala
  2004-12-15 17:16 ` Aldy Hernandez
  1 sibling, 0 replies; 4+ messages in thread
From: Kumar Gala @ 2004-12-15 15:24 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: gcc, Aldy Hernandez

Zack,

Not sure what TARGET_SPE implies (Aldy should know :)

However, we did want to keep the SPE scalar float usage separate from 
the SPE vector instructions.  Its feasible and possible that Freescale 
may release a processor that implements only the scalar floating point 
instructions and not the SIMD instructions.

- kumar

On Dec 14, 2004, at 9:42 PM, Zack Weinberg wrote:

>
>
> Currently, the SPE scalar float instructions are predicated on
>  TARGET_HARD_FLOAT && !TARGET_FPRS (and TARGET_E500_DOUBLE for DFmode)
>  but not on TARGET_SPE.  This can cause problems in an embedded context
>  - as one of CodeSourcery's customers points out,
>
> > This will indeed post a problem, because those instructions require
>  > MSR[SPE] bit be set, which is not true for all cases.  SPE 
> unavailable
>  > exception may result.
>
> I'm wondering if TARGET_SPE should be added to the controlling
>  condition for all those instructions.  Thoughts?
>
> zw

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SPE scalar float instructions
  2004-12-15  3:53 SPE scalar float instructions Zack Weinberg
  2004-12-15 15:24 ` Kumar Gala
@ 2004-12-15 17:16 ` Aldy Hernandez
  2004-12-15 17:54   ` Kumar Gala
  1 sibling, 1 reply; 4+ messages in thread
From: Aldy Hernandez @ 2004-12-15 17:16 UTC (permalink / raw)
  To: Zack Weinberg; +Cc: gcc

On Tue, Dec 14, 2004 at 07:42:19PM -0800, Zack Weinberg wrote:
> 
> Currently, the SPE scalar float instructions are predicated on
> TARGET_HARD_FLOAT && !TARGET_FPRS (and TARGET_E500_DOUBLE for DFmode)
> but not on TARGET_SPE.  This can cause problems in an embedded context
> - as one of CodeSourcery's customers points out,
> 
> > This will indeed post a problem, because those instructions require
> > MSR[SPE] bit be set, which is not true for all cases.  SPE unavailable
> > exception may result.

I'm not sure I follow the above? (??)

> 
> I'm wondering if TARGET_SPE should be added to the controlling
> condition for all those instructions.  Thoughts?

As Kumar mentioned, a there may be a chip with SPE but not FP in the
GPRs.

Also, suppose you have -mspe=yes -mfloat-gprs=no (or the opposite).

Aldy

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SPE scalar float instructions
  2004-12-15 17:16 ` Aldy Hernandez
@ 2004-12-15 17:54   ` Kumar Gala
  0 siblings, 0 replies; 4+ messages in thread
From: Kumar Gala @ 2004-12-15 17:54 UTC (permalink / raw)
  To: Aldy Hernandez; +Cc: Zack Weinberg, gcc


On Dec 15, 2004, at 10:59 AM, Aldy Hernandez wrote:

> On Tue, Dec 14, 2004 at 07:42:19PM -0800, Zack Weinberg wrote:
>  >
> > Currently, the SPE scalar float instructions are predicated on
>  > TARGET_HARD_FLOAT && !TARGET_FPRS (and TARGET_E500_DOUBLE for 
> DFmode)
>  > but not on TARGET_SPE.  This can cause problems in an embedded 
> context
>  > - as one of CodeSourcery's customers points out,
>  >
> > > This will indeed post a problem, because those instructions require
>  > > MSR[SPE] bit be set, which is not true for all cases.  SPE 
> unavailable
>  > > exception may result.

I missed this last time, and agree with aldy ??? -- on know on e500 
there is an errata (that may not be fixed) with regards to causing an 
exception for the set of instructions, however the architecture 
specifies that the efs* instructions should NOT require MSR[SPE] to be 
set.  I'm looking into if and when this may be fixed on e500.  However, 
its not clear what the implication is to your customer.

>
> I'm not sure I follow the above? (??)
>
> >
> > I'm wondering if TARGET_SPE should be added to the controlling
>  > condition for all those instructions.  Thoughts?
>
> As Kumar mentioned, a there may be a chip with SPE but not FP in the
>  GPRs.
>
> Also, suppose you have -mspe=yes -mfloat-gprs=no (or the opposite).
>
> Aldy
>

- kumar

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-12-15 17:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-15  3:53 SPE scalar float instructions Zack Weinberg
2004-12-15 15:24 ` Kumar Gala
2004-12-15 17:16 ` Aldy Hernandez
2004-12-15 17:54   ` Kumar Gala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).