[all-commits] [llvm/llvm-project] 0d0509: [X86] NFC: expand inline memcmp test coverage
David Zarzycki via All-commits
all-commits at lists.llvm.org
Sat Oct 26 11:21:41 PDT 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 0d0509384f054cb4f13260786ee48163ac94d123
https://github.com/llvm/llvm-project/commit/0d0509384f054cb4f13260786ee48163ac94d123
Author: David Zarzycki <dave at znu.io>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M llvm/test/CodeGen/X86/memcmp.ll
Log Message:
-----------
[X86] NFC: expand inline memcmp test coverage
1) Adds SSE4.1 coverage.
2) Adds prefer-256-bit or not coverage.
3) Adds more power-of-two tests up to 512 bytes.
4) Adds power-of-two-minus-one tests to verify overlapping loads.
5) Adds power-of-two-plus-one-half tests (48, 96, 192, and 384).
6) Adds greater-than/less-than tests from 16 to 512 bytes.
https://reviews.llvm.org/D69222
Commit: 11c920207afa92ad13fdf72daba14c9af336293a
https://github.com/llvm/llvm-project/commit/11c920207afa92ad13fdf72daba14c9af336293a
Author: David Zarzycki <dave at znu.io>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/setcc-wide-types.ll
Log Message:
-----------
[X86] Prefer KORTEST on Knights Landing or later for memcmp()
PTEST and especially the MOVMSK instructions are slow on Knights Landing
or later. As a bonus, this patch increases instruction parallelism by
emitting:
KORTEST(PCMPNEQ(a, b), PCMPNEQ(c, d)) == 0
Instead of:
KORTEST(AND(PCMPEQ(a, b), PCMPEQ(c, d))) == ~0
https://reviews.llvm.org/D69157
Compare: https://github.com/llvm/llvm-project/compare/82b82e39c457...11c920207afa
More information about the All-commits
mailing list