OSDN Git Service

[SelectionDAG] Use WidenTargetBoolean in WidenVecRes_MLOAD and WidenVecOp_MSTORE...
authorCraig Topper <craig.topper@intel.com>
Tue, 5 Dec 2017 08:15:03 +0000 (08:15 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 5 Dec 2017 08:15:03 +0000 (08:15 +0000)
commit3c0a0d32f6ac1920cf06ec2d4d97361db05bd410
tree977b67620927986b124f832569bfb187c36a799f
parent59d4cbbf8e98540cb8a2a61824561deb076af308
[SelectionDAG] Use WidenTargetBoolean in WidenVecRes_MLOAD and WidenVecOp_MSTORE instead of implementing it manually and incorrectly.

The CONCAT_VECTORS operand get its type from getSetCCResultType, but if the mask type and the setcc have different scalar sizes this creates an illegal CONCAT_VECTORS operation. The concat type should be 2x the mask type, and then an extend should be added if needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319744 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp