[PATCH] fix BZ 18116 - build failure on ppc64le: setcontext.S uses power6 mtfsf when not supported
Carlos O'Donell
carlos@redhat.com
Wed Mar 18 15:32:00 GMT 2015
On 03/17/2015 11:55 AM, Steven Munroe wrote:
> "Every thing should be a simple as possible, but no simpler."
>
> This is attributed to Albert Einstein, The original statement in German
> is longer and more elegant and precise.
>
> Net, we want the simplest solutions that is correct given what the
> PowerISA allows and the hardware implementations we are aware of.
So just to clarify:
* push/pop .machine pairs, and machine setting around instances of
instructions that are predicated on a particular machine.
* Minimizing the coverage of those push/pop .machine pairs allows
for writing of code that supports multiple CPUs and may conditionally
execute those instructions if it is detected that the CPU has
the required features.
* Continued use of #ifdef _ARCH_* conditionals to reduce the size
of a functions code by removing code we know will never be executed
given that we are not compiling with support for that ARCH.
* Add additional HAVE_ASSEMBLER_* support macros to conditionalize
instructions we can't actually assemble yet because we support
wide range of assembler versions. The HAVE_ASSEMBLER_* macro is
set by a configure check to see if we support assembling those
particular instructions. This is common practice for x86 MPX and
AVX512. This is not the case for mtfsf? All assemblers glibc
supports building with can assemble the four operated form
(binutils 2.22 or later)?
Cheers,
Carlos.
More information about the Libc-alpha
mailing list