diff options
author | Craig Topper <craig.topper@intel.com> | 2018-11-28 18:11:42 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-11-28 18:11:42 +0000 |
commit | 81f1b4a36184114456b85553e9f465c71e674ea4 (patch) | |
tree | a83f302c9a3e6575c4dd91f3a4a783aa18de31dc /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | d3bb036bc93275e0b98fd19e93a0697f9aa097fa (diff) | |
download | llvm-81f1b4a36184114456b85553e9f465c71e674ea4.zip llvm-81f1b4a36184114456b85553e9f465c71e674ea4.tar.gz llvm-81f1b4a36184114456b85553e9f465c71e674ea4.tar.bz2 |
[X86] Make X86TTIImpl::getCastInstrCost properly handle the case where AVX512 is enabled, but 512-bit vectors aren't legal.
Unlike most cost model functions this code makes a lot of table lookups without using the results from getTypeLegalizationCost. This means 512-bit vectors can be looked up even when the type isn't legal.
This patch adds a check around the two tables that contain 512-bit types to make sure that neither of the types would be split by type legalization. Meaning 512 bit types are illegal. I wanted to write this in a somewhat generic way that uses type legalization query hooks. But if prefered, I can switch to just using is512BitVector and the subtarget feature.
Differential Revision: https://reviews.llvm.org/D54984
llvm-svn: 347786
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions