lanedivide mode=2 default lane size

This commit is contained in:
caheckman 2019-11-18 11:06:11 -05:00
parent 93471fb3ea
commit 7e050e771a
4 changed files with 94 additions and 29 deletions

View file

@ -261,6 +261,19 @@ bool TransformOp::attemptInsertion(Funcdata *fd)
return true; // Already inserted
}
void LanedRegister::LanedIterator::normalize(void)
{
uint4 flag = 1;
flag <<= size;
while(flag <= mask) {
if ((flag & mask) != 0) return; // Found a valid lane size
size += 1;
flag <<= 1;
}
size = -1; // Indicate ending iterator
}
/// Read XML of the form \<register name=".." vector_lane_sizes=".."/>
/// \param el is the particular \e register tag
/// \param manage is used to map register names to storage info