summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2015-11-06 23:16:38 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2015-11-06 23:16:38 +0000
commit68614a36d114ba390ce97576b71717b8d7c96b6f (patch)
tree8d199b08583a68e4ffe4fa1fccfc5078923f994f /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parentb126f6b6c8ed31a00ef9dacf478138e43c41810f (diff)
downloadbcm5719-llvm-68614a36d114ba390ce97576b71717b8d7c96b6f.tar.gz
bcm5719-llvm-68614a36d114ba390ce97576b71717b8d7c96b6f.zip
[X86] Don't fold non-LSB extracts into truncating broadcasts.
We used to incorrectly assume that the offset we're extracting from was a multiple of the element size. So, we'd fold: (v8i16 (shufflevector (v8i16 (bitcast (v4i32 (build_vector X, Y, ...)))), <1,1,...,1>)) into: (v8i16 (vbroadcast (i16 (trunc Y)))) whereas we should have extracted the higher bits from X. Instead, bail out if the assumption doesn't hold. llvm-svn: 252361
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud