[PATCH] [PATCH][ARM] Fix issue with UMLAL (unsigned multiple accumulate long) lowering
Jyoti Allur
jyoti.allur at samsung.com
Wed Jun 3 09:11:32 PDT 2015
Hi Matthias,
I have just realized that this is incorrect.
EVT VT = MULOp.getValueType();
unsigned VTBits = VT.getSizeInBits();
FinalOpc = (VTBits & 0x8000) ? ARMISD::SMLAL : ARMISD::UMLAL;
}
method to choose FinalOpc is incorrect as VTBits only contains size not the actual result of MUL.
ISD::MUL does not indicate if its signed multiply or unsigned multiply thus making it difficult to choose SMLAL or UMLAL.
I need to be able to check if one of the operands of ISD::MUL were sign extended or not to assign SMLAL. But this information is not available in backend, it is available in DAGCombining though.Seem to have hit a roadblock, any suggestion would of help to close.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D9881
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list