mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-22 21:32:31 +00:00
Improve performance of bitscanning intrinsics
This change helps spectre more intelligently plan execution, by working around false output dependencies, impacting ops like popcnt bsr and bsf
This commit is contained in:
parent
29cb53881e
commit
87d7010495
13 changed files with 100 additions and 224 deletions
|
@ -16,6 +16,7 @@
|
|||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/testlib/blocktronics.h"
|
||||
#include "libc/testlib/ezbench.h"
|
||||
#include "libc/testlib/hyperion.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
|
@ -48,4 +49,6 @@ BENCH(HasControlCodes, bench) {
|
|||
EZBENCH2("HasControlCodes small", donothing, HasControlCodes("hello", -1, 0));
|
||||
EZBENCH2("HasControlCodes big", donothing,
|
||||
HasControlCodes(kHyperion, kHyperionSize, kControlC1));
|
||||
EZBENCH2("HasControlCodes unicode", donothing,
|
||||
HasControlCodes(kBlocktronics, kBlocktronicsSize, kControlC1));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue