summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-02-10 17:58:58 +0000
committerCraig Topper <craig.topper@intel.com>2018-02-10 17:58:58 +0000
commit28d3a73c810714fb6da680c5ee0d7e51c9e22d7a (patch)
treecec1d9539170d0bc447fb6f47536fc6b4f6ce44a /llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
parent0fbdaa6d816723339e32af0ffa2c10b5abb363a0 (diff)
downloadbcm5719-llvm-28d3a73c810714fb6da680c5ee0d7e51c9e22d7a.tar.gz
bcm5719-llvm-28d3a73c810714fb6da680c5ee0d7e51c9e22d7a.zip
[X86] Extend inputs with elements smaller than i32 to sint_to_fp/uint_to_fp before type legalization.
This prevents extends of masks being introduced during lowering where it become difficult to combine them out. There are a few oddities in here. We sometimes concatenate two k-registers produced by two compares, sign_extend the combined pair, then extract two halves. This worked better previously because the sign_extend wasn't created until after the fp_to_sint was split which led to a split sign_extend being created. We probably also need to custom type legalize (v2i32 (sext v2i1)) via widening. llvm-svn: 324820
Diffstat (limited to 'llvm/lib/Transforms/Utils/CallPromotionUtils.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud