summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/SafepointIRVerifier.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-12-25 06:47:10 +0000
committerCraig Topper <craig.topper@intel.com>2017-12-25 06:47:10 +0000
commit705fef3ef3d26718f34de45e1d4c2ef0f37c9bb2 (patch)
tree582343f5fcf0a1f01720cff28bd6e7d08c93096a /llvm/lib/IR/SafepointIRVerifier.cpp
parentb28460a0d6c02e7938d69daf54cf9b8e17bf431b (diff)
downloadbcm5719-llvm-705fef3ef3d26718f34de45e1d4c2ef0f37c9bb2.tar.gz
bcm5719-llvm-705fef3ef3d26718f34de45e1d4c2ef0f37c9bb2.zip
[X86] Add a DAG combines to turn vXi64 muls into VPMULDQ/VPMULUDQ if the upper bits are all sign bits or zeros.
Normally we catch this during lowering, but vXi64 mul is considered legal when we have AVX512DQ. This DAG combine allows us to avoid PMULLQ with AVX512DQ if we can prove its unnecessary. PMULLQ is 3 uops that take 4 cycles each. While pmuldq/pmuludq is only one 4 cycle uop. llvm-svn: 321437
Diffstat (limited to 'llvm/lib/IR/SafepointIRVerifier.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud