aboutsummaryrefslogtreecommitdiff
path: root/src/fenv/powerpc (follow)
Commit message (Expand)AuthorAgeFilesLines
* add SPE FPU support to powerpc-sf•••When the soft-float ABI for PowerPC was added in commit 5a92dd95c77cee81755f1a441ae0b71e3ae2bcdb, with Freescale cpus using the alternative SPE FPU as the main use case, it was noted that we could probably support hard float on them, but that it would involve determining some difficult ABI constraints. This commit is the completion of that work. The Power-Arch-32 ABI supplement defines the ABI profiles, and indeed ATR-SPE is built on ATR-SOFT-FLOAT. But setjmp/longjmp compatibility are problematic for the same reason they're problematic on ARM, where optional float-related parts of the register file are "call-saved if present". This requires testing __hwcap, which is now done. In keeping with the existing powerpc-sf subarch definition, which did not have fenv, the fenv macros are not defined for SPE and the SPEFSCR control register is left (and assumed to start in) the default mode. Rich Felker2021-09-232-2/+2
* make arch __fesetround backends hidden•••these are not public interfaces and do not match the public function, but delegate argument checking to it. Rich Felker2018-09-121-0/+1
* add powerpc soft-float support•••Some PowerPC CPUs (e.g. Freescale MPC85xx) have a completely different instruction set for floating point operations (SPE). Executing regular PowerPC floating point instructions results in "Illegal instruction" errors. Make it possible to run these devices in soft-float mode. Felix Fietkau2016-03-062-18/+27
* fix invalid instruction mnemonics in powerpc fenv asm•••there is no non-dot version of the andis instruction, but there's no harm in updating the flags anyway, so just use the dot version. Rich Felker2013-08-271-3/+3
* fix fenv exception functions to mask their argument•••fesetround.c is a wrapper to do the arch independent argument check (on archs where rounding mode is not stored in 2 bits __fesetround still has to check its arguments) on powerpc fe*except functions do not accept the extra invalid flags of its fpscr register the useless FENV_ACCESS pragma was removed from feupdateenv Szabolcs Nagy2013-08-181-3/+6
* fenv support for ppc, untested•••based on code sent to the mailing list by nsz, with minor changes. Rich Felker2012-11-181-0/+120