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:
Justine Tunney 2021-06-15 06:24:46 -07:00
parent 29cb53881e
commit 87d7010495
13 changed files with 100 additions and 224 deletions

View file

@ -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));
}