Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
This patch provides throughput boost for the strcasecmp function
(25% on ppc32 and 40% on ppc64) and strncasecmp (15% on both ppc32
and ppc64) for POWER7. The optimization is done by manually
(strcasecmp) or automatically (strncasecmp) unrolling the test loop
to avoid CPU stalls caused by a test followed by a load.
|
|
This patch provides throughput boost for the nearbyint[f] functions
for POWER. For POWER7, it improves performance for nearbyintf from
5 (ppc32) to 6 times (ppc64) and for nearbyint from 2.5 up to 5
times. For POWER6 it improves nearbyintf up to 2x (ppc64) and
nearbyint up to 4x.
|
|
Backport of commit #ee2aafe08e68c88412b7dcfa4b1e0d11789348f8
|
|
Backport of commit #850fb039cec802072f70ed9763927881bbbf639c
|
|
This patch creates inline assembly functions that use intrinsic PPC
floating point instructions when the platform supports them but rely on
the internal GLIBC functions when the instructions are not implemented
(for instance, on POWER4).
|
|
libm is now somewhat integrated with gcc's -ffinite-math-only option
and lots of the wrapper functions have been optimized.
Backport of commit #0ac5ae2335292908f39031b1ea9fe8edce433c0f
|
|
Backport of commit #edc121be8b53da57950daf6f42a619b5826f30b6
|
|
|
|
|
|
|
|
This patch moves the ppc32 _mcount to libc_shared.a, fixing a
long-standing bug with profiling of secure-plt shared libraries and
PIEs. The problem is that a ppc32 PIC PLT call stub uses r30 (GOT
pointer) to load the function address from the PLT, r30 being set up
in the function prologue, but _mcount is called before the function
prologue. So chances are good that r30 will be pointing to the
executable GOT when trying to call _mcount in a shared lib function.
A similar problem can occur in a PIE if a shared lib calls a function
in the executable.
|
|
This patch addresses some IBM Long Double 128 fmal () test-ldouble.out
and test-ildoubl.out failures. If the ‘x’ and ‘y’ parameters are
finite values and ‘z’ is infinity, the result of fmal () should be ‘z’
not NaN.
|
|
15%. The 32-bit throughput is not notably affected by this change, so
the change to the 32-bit code is done to keep the two files in sync
with each other.
|
|
These POWER optimizations remove most of the FP->INT conversions in
hypot/hypotf and sinf/cosf on POWER making the computation done with
FP operations instead. This eliminates Load-Hit-Store (LHS) stalls,
increasing performance of hypot/hypotf (by about 100% on POWER7 and
12% on POWER6) and sinf/cosf (by 80% on POWER7 and 30% on POWER6).
|
|
Avoid deadcode and remove regressive optimization for POWER[5|6].
Complete revert of git commit 5939fc0867e1616a537c26d84ca1612b53b0303e
Trigonometric optimizations for POWER cpus
|
|
Avoid deadcode and remove regressive optimization for POWER[5|6].
Revert git commit 5939fc0867e1616a537c26d84ca1612b53b0303e
Trigonometric optimizations for POWER cpus
|
|
|
|
|
|
|
|
|
|
|
|
These optimizations remove most of the FP->INT conversions making
the computation done with FP operations instead. This eliminates
Load-Hit-Store (LHS) stalls on POWER, increasing performance of
hypot/hypotf (about 50% on POWER7, 25% on POWER6, and 30% on POWER5)
and sinf/cosf (30% on POWER7, 15% on POWER6, and 10% on POWER5).
|
|
|
|
(cherry picked from commit c1d0e639a95d6d3d3f1c1f70cf97d596bd5a24ec)
|
|
|
|
|
|
(cherry picked from commit d55fd7a5573ea7c7c14af95bc37618469cde8a5f)
|
|
Disable VSX instruction usage in rtld.c with -mno-vsx so that, under
-O3 optimization, a TOC reference isn't used for a zero constant in a
VSX register prior to resolution of relocations.
|
|
Reversing commits c3b77b811fc7106a4cc9d491c1cc9358fb266c42
and 4265a8e3556a90e6e2ee583388d8aaa0d93cfa29
|
|
Disable VSX instruction usage in rtld.c with -mno-vsx so that, under
-O3 optimization, a TOC reference isn't used for a zero constant in a
VSX register prior to resolution of relocations.
|
|
Disable VSX instruction usage in rtld.c with -mno-vsx so that, under
-O3 optimization, a TOC reference isn't used for a zero constant in a
VSX register prior to resolution of relocations.
|
|
(cherry picked from commit da93d21475878725c9e0cb2b6e650bd8d3628435)
|
|
(cherry picked from commit 344d0b545d0a0a0ab737ff333d807969721ce381)
|
|
recent versions of GCC to compile GLIBC when altivec is configured.
2009-11-06 Petr Baudis <pasky@suse.cz>
* include/sys/uio.h: Change __vector to __iovec to avoid clash
with altivec.
(cherry picked from commit bcb75669959f740e04208b773e99d87c5342dc34)
|
|
PT_GNU_STACK to make the stack no-exec. This change abstracts the stack
permissions settings into a macro defined in a header.
|
|
(cherry picked from commit 7c08a05c5f4f86f9e249c2554b1628da0f812364)
|
|
(cherry picked from commit d20501241ea423e477b357d93147530987e0d89e)
|
|
(cherry picked from commit 475facd1f553ad6d45de1137bd2a22e70307c7bf)
|
|
(cherry picked from commit 3e692e0518b4f4679352d25102bd47cf3f85c592)
|
|
(cherry picked from commit f3f7372de1401b99f0a318ce09caf73e42d6f022)
|
|
(cherry picked from commit 5e908464b9603e9cd95047d2edd00de5f78fedaf)
|
|
|
|
(cherry picked from commit d0b9e94faf18f2585e7d0ae0b10daefb12f93059)
|
|
(cherry picked from commit bebff237c522e4e8e23204ca1e5104896389158e)
|
|
(cherry picked from commit 9b059f977477351b1660cf50f6925e1eb0ec498b)
|
|
(cherry picked from commit 77c1b06986d9ce8aacee8ea734ba42e635d79b2f)
|