[x86] Fix another miscompile in the new vector shuffle lowering found
authorChandler Carruth <chandlerc@gmail.com>
Thu, 7 Aug 2014 09:45:02 +0000 (09:45 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 7 Aug 2014 09:45:02 +0000 (09:45 +0000)
commitb3364512fc78d9795a25cad99fe208a8122a03d2
tree3143250f79d9dfd23d33203cad9606b2aa67ac9a
parent5d8c984e5463a26de279b4a0d341a7472fdc7f83
[x86] Fix another miscompile in the new vector shuffle lowering found
through the new fuzzer.

This one is great: bad operator precedence led the modulus to happen at
the wrong point. All the asserts didn't fire because there were usually
the right values past the end of the 4 element region we were looking
at. Probably could have gotten a crash here with ASan + fuzzing, but the
correctness tests pinpointed this really nicely.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215092 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-128-v8.ll