php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #69703 Use __builtin_clzl on PowerPC
Submitted: 2015-05-25 01:53 UTC Modified: 2015-06-18 13:59 UTC
Votes:3
Avg. Score:4.7 ± 0.5
Reproduced:3 of 3 (100.0%)
Same Version:3 (100.0%)
Same OS:3 (100.0%)
From: dja at axtens dot net Assigned: kalle
Status: Closed Package: Performance problem
PHP Version: 5.6Git-2015-05-25 (Git) OS: Linux
Private report: No CVE-ID:
 [2015-05-25 01:53 UTC] dja at axtens dot net
Description:
------------
Zend/zend_alloc.c uses __builtin_clzl in zend_mm_high_bit and zend_mm_low_but, but only if (defined(__arm__) ||  defined(__aarch64__)). This is overly restrictive: it's also usable if __defined__(__powerpc__).

This causes a bump to speed on POWER systems: previously zend_mm_high_bit shows up on perf reports, with this patch the functions drop out of the profile entirely.


Patches

__builtin_clzl.patch (last revision 2015-05-25 01:53 UTC) by dja at axtens dot net)

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-05-28 08:25 UTC] kalle@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: dmitry
 [2015-05-28 08:25 UTC] kalle@php.net
Dmitry, can you verify if this patch can safely go into 5.6? It is obsolete for master it seems
 [2015-05-28 08:30 UTC] dmitry@php.net
Looks fine.
 [2015-05-28 12:31 UTC] kalle@php.net
Automatic comment on behalf of kalle
Revision: http://git.php.net/?p=php-src.git;a=commit;h=de696d851f18efb40298d92b83d761a39964b910
Log: Fixed bug #69703 (Use __builtin_clzl on PowerPC) -- Patch by dja at axtens dot net
 [2015-05-28 12:31 UTC] kalle@php.net
-Status: Assigned +Status: Closed
 [2015-05-28 12:38 UTC] kalle@php.net
-Assigned To: dmitry +Assigned To: kalle
 [2015-05-28 12:43 UTC] kalle@php.net
I committed this only to 5.6, as 5.5 is going to security only mode in 22 days (unless Julien decides it should go through).

This should be available in 5.6.10 (on 11th of June)
 [2015-05-29 09:14 UTC] nikic@php.net
Automatic comment on behalf of kalle
Revision: http://git.php.net/?p=php-src.git;a=commit;h=de696d851f18efb40298d92b83d761a39964b910
Log: Fixed bug #69703 (Use __builtin_clzl on PowerPC) -- Patch by dja at axtens dot net
 [2015-06-18 13:44 UTC] kaplan@php.net
1. This also went into PHP 5.5.
2. Should that be powerpc64 instead of powerpc ?

See also https://github.com/php/php-src/pull/1245
 [2015-06-18 13:59 UTC] kalle@php.net
Lior, it probably should. Feel free to take over this report if you like as I cannot verify anything on a PPC.
 
PHP Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Mon May 29 05:01:44 2017 UTC