OSDN Git Service

[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)
commita1ab6444810d37e5d9ddf14f198db7b91575b626
tree64f1dfc500dd52b637f9d23c2b675f60aff56abb
parentcde69b248ec03aca6b97d6bbb7af8a74660bff26
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@343373 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/known-signbits-vector.ll
test/CodeGen/X86/packss.ll