diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-07-22 15:16:44 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-07-22 15:16:44 +0200 |
commit | 09494c325c52f55c72ab1448371ab03d25e13c50 (patch) | |
tree | 4c7ca77d2f10ec5949c3ff7d39427f1f605f2c5f /gcc/ada/init.c | |
parent | 5a989c6ba5e462a5545f2fd853df3aac24879440 (diff) | |
download | gcc-09494c325c52f55c72ab1448371ab03d25e13c50.zip gcc-09494c325c52f55c72ab1448371ab03d25e13c50.tar.gz gcc-09494c325c52f55c72ab1448371ab03d25e13c50.tar.bz2 |
[multiple changes]
2009-07-22 Brett Porter <porter@adacore.com>
* init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of
FPSCR.
* sysdep.c (__gnat_get_task_options): Set task option enabling SPE.
2009-07-22 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb,
exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error.
Minor reformatting.
* sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that
used poor terminology.
2009-07-22 Robert Dewar <dewar@adacore.com>
* freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting
* sem_eval.adb, exp_tss.adb: Minor comment update.
* stylesw.adb: Code clean up.
From-SVN: r149932
Diffstat (limited to 'gcc/ada/init.c')
-rw-r--r-- | gcc/ada/init.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/init.c b/gcc/ada/init.c index 3193dff..2f10505 100644 --- a/gcc/ada/init.c +++ b/gcc/ada/init.c @@ -1932,9 +1932,19 @@ __gnat_init_float (void) overflow settings are an OS configuration issue. The instructions below have no effect. */ #if defined (_ARCH_PPC) && !defined (_SOFT_FLOAT) && !defined (VTHREADS) +#if defined (_SPE_) + { + const unsigned long spefscr_mask = 0xfffffff3; + unsigned long spefscr; + asm ("mfspr %0, 512" : "=r" (spefscr)); + spefscr = spefscr & spefscr_mask; + asm ("mtspr 512, %0\n\tisync" : : "r" (spefscr)); + } +#else asm ("mtfsb0 25"); asm ("mtfsb0 26"); #endif +#endif #if (defined (__i386__) || defined (i386)) && !defined (VTHREADS) /* This is used to properly initialize the FPU on an x86 for each |