[SelectionDAG][VP] Fix MemSDNode::getBasePtr

Found while working on D108987. When interpreting VP nodes as
`MemSDNode` nodes, this function would return the incorrect indices.
This was due to `VP_GATHER` and having no "passthru", and both
`VP_GATHER` and `VP_SCATTER` having their mask operands *after* the base
pointer, unlike `MGATHER` and `MSCATTER`.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D109308
This commit is contained in:
Fraser Cormack 2021-09-06 10:23:56 +01:00
parent ffcaa80f7e
commit a40599c97b
1 changed files with 1 additions and 2 deletions

View File

@ -1363,11 +1363,10 @@ public:
case ISD::STORE:
case ISD::VP_STORE:
case ISD::MSTORE:
case ISD::VP_SCATTER:
return getOperand(2);
case ISD::MGATHER:
case ISD::MSCATTER:
case ISD::VP_GATHER:
case ISD::VP_SCATTER:
return getOperand(3);
default:
return getOperand(1);