[X86][SSE] Fixed issue with v2i64 variable shifts on 32-bit targets
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 29 Sep 2018 13:25:22 +0000 (13:25 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 29 Sep 2018 13:25:22 +0000 (13:25 +0000)
commitaa77033a6b2c79d799e76f2faae38a03d3585a01
tree057acc966c3926e8d81771d4d84aeb22c1453da0
parentdc2cb4f1c7c24870c23c1d645a00449917e04bb3
[X86][SSE] Fixed issue with v2i64 variable shifts on 32-bit targets

The shift amount might have peeked through a extract_subvector, altering the number of vector elements in the 'Amt' variable - so we were incorrectly calculating the ratio when peeking through bitcasts, resulting in incorrectly detecting splats.

llvm-svn: 343373
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/known-signbits-vector.ll
llvm/test/CodeGen/X86/packss.ll