This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] powerpc: New feature - HWCAP/HWCAP2 bits in the TCB


On Tue, 2015-06-09 at 15:47 +0100, Szabolcs Nagy wrote:
> 
> On 08/06/15 22:03, Carlos Eduardo Seo wrote:
> > The proposed patch adds a new feature for powerpc. In order to get
> > faster access to the HWCAP/HWCAP2 bits, we now store them in the TCB.
> > This enables users to write versioned code based on the HWCAP bits
> > without going through the overhead of reading them from the auxiliary
> > vector.

> i assume this is for multi-versioning.

The intent is for the compiler to implement the equivalent of
__builtin_cpu_supports("feature"). X86 has the cpuid instruction, POWER
is RISC so we use the HWCAP. The trick to access the HWCAP[2]
efficiently as getauxv and scanning the auxv is too slow for inline
optimizations.

> i dont see how the compiler can generate code to access the
> hwcap bits currently (without making assumptions about libc
> interfaces).
> 
These offset will become a durable part the PowerPC 64-bit ELF V2 ABI.

The TCB offsets are already fixed and can not change from release to
release.


> > A new API is published in ppc.h for get/set the bits in the
> > aforementioned memory area (mainly for gcc to use to create builtins).
> 
> how can the compiler use ppc.h? will it replicate the
> offset logic instead?
> 
See above

> if hwcap is useful abi between compiler and libc
> then why is this done in a powerpc specific way?
> 

Other platform are free use this technique.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]