You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code at lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1031 seems to have issues if the element size is less than a full byte (e.g., processing a "i1"), as EltSize will truncate to 0 and then the assertion will fail. Allowing the assertion to be ignored if EltSize == 0 seems to fix this issue, but it looks like something that needs more review:
// Calculate the element offset and add it to the pointer.
unsigned EltSize = EltVT.getSizeInBits() / 8; // FIXME: should be ABI size.
if (EltSize)
{
assert(EltSize * 8 == EltVT.getSizeInBits() &&
"Converting bits to bytes lost precision");
}
The text was updated successfully, but these errors were encountered:
This isn't really a useful ticket as-is; please track each issue in a separate ticket, e.g. "SplitVecRes_INSERT_SUBVECTOR is broken for non-byte-size types", or "SplitVecOp_EXTRACT_VECTOR_ELT is broken for non-byte-size types larger than 8 bits".
Extended Description
The code at lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1031 seems to have issues if the element size is less than a full byte (e.g., processing a "i1"), as EltSize will truncate to 0 and then the assertion will fail. Allowing the assertion to be ignored if EltSize == 0 seems to fix this issue, but it looks like something that needs more review:
// Calculate the element offset and add it to the pointer.
unsigned EltSize = EltVT.getSizeInBits() / 8; // FIXME: should be ABI size.
if (EltSize)
{
assert(EltSize * 8 == EltVT.getSizeInBits() &&
"Converting bits to bytes lost precision");
}
The text was updated successfully, but these errors were encountered: