[X86] In lowerVectorShuffleAsBroadcast, make peeking through CONCAT_VECTORS work...
authorCraig Topper <craig.topper@intel.com>
Tue, 30 Oct 2018 18:48:42 +0000 (18:48 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 30 Oct 2018 18:48:42 +0000 (18:48 +0000)
commit6958b5ffa9ed00d499e81f815a02eaff02cc9614
tree043b5e13e0a7517ecbb89558a112e5dc611c5758
parent4b0c66deb368bd2f953035dff847a49ea404a4b9
[X86] In lowerVectorShuffleAsBroadcast, make peeking through CONCAT_VECTORS work correctly if we already walked through a bitcast that changed the element size.

The CONCAT_VECTORS case was using the original mask element count to determine how to adjust the broadcast index. But if we looked through a bitcast the original mask size doesn't tell us anything about the concat_vectors.

This patch switchs to using the concat_vectors input element count directly instead.

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

llvm-svn: 345626
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll