llvm/test
Zvi Rackover 42694a3a7e [X86] Prefer reduced width multiplication over pmulld on Silvermont
Summary:
Prefer expansions such as: pmullw,pmulhw,unpacklwd,unpackhwd over pmulld.
On Silvermont [source: Optimization Reference Manual]:
PMULLD has a throughput of 1/11 [instruction/cycles].
PMULHUW/PMULHW/PMULLW have a throughput of 1/2 [instruction/cycles].

Fixes pr31202.

Analysis of this issue was done by Fahana Aleen.

Reviewers: wmi, delena, mkuper

Subscribers: RKSimon, llvm-commits

Differential Revision: https://reviews.llvm.org/D27203

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288844 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-06 19:35:20 +00:00
..
Analysis [TTI/CostModel] Correct the way getGEPCost() calls isLegalAddressingMode() 2016-12-03 01:57:24 +00:00
Assembler [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
Bindings
Bitcode [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
BugPoint
CodeGen [X86] Prefer reduced width multiplication over pmulld on Silvermont 2016-12-06 19:35:20 +00:00
DebugInfo [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation [asan/win] Align global registration metadata to its size 2016-11-29 01:32:21 +00:00
Integer
JitListener
LibDriver
Linker [ThinLTO] Stop importing constant global vars as copies in the backend 2016-12-02 01:02:30 +00:00
LTO [LTOs] Allow generation of hotness information 2016-12-02 17:53:56 +00:00
MC [ARM] Better error message for invalid flag-preserving Thumb1 insts 2016-12-06 12:59:08 +00:00
Object [llvm-readobj] - Teach readobj to print PT_OPENBSD_BOOTDATA header 2016-12-06 17:55:52 +00:00
ObjectYAML [ObjectYAML] First bit of support for encoding DWARF in MachO 2016-12-06 06:00:49 +00:00
Other
SymbolRewriter
TableGen [tablegen] Delete duplicates from a vector without skipping elements 2016-12-01 19:38:50 +00:00
ThinLTO/X86 [LTOs] Allow generation of hotness information 2016-12-02 17:53:56 +00:00
tools [llvm-readobj] - Teach readobj to print PT_OPENBSD_BOOTDATA header 2016-12-06 17:55:52 +00:00
Transforms [InstSimplify] add folds for and-of-icmps with same operands 2016-12-06 19:05:46 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt Add llvm-modextract tool. 2016-11-29 21:54:33 +00:00
lit.cfg Add llvm-modextract tool. 2016-11-29 21:54:33 +00:00
lit.site.cfg.in
TestRunner.sh