For zero scale SMULFIX, expand into MUL which produces better code for X86.
For vector arguments, expand into MUL if SMULFIX is provided with a zero scale. Otherwise, expand into MULH[US] or [US]MUL_LOHI,
Differential D56987
[Intrinsic] Expand SMULFIX to MUL, MULH[US], or [US]MUL_LOHI on vector arguments leonardchan on Jan 20 2019, 3:31 PM. Authored by
Details For zero scale SMULFIX, expand into MUL which produces better code for X86. For vector arguments, expand into MUL if SMULFIX is provided with a zero scale. Otherwise, expand into MULH[US] or [US]MUL_LOHI,
Diff Detail
Event TimelineComment Actions How common would it be that the scale is zero? Is that really expected in reality or just in this kind of handwritten test cases? Regardless, this patch does not introduce that much complexity so it does LGTM.
Comment Actions It's not as expected or important as with a non-zero scale, but it seems like a good case to cover. It's mostly just another test case to cover.
|
Please can you rebase after rL352056 - I've renamed this getExpandedFixedPointMultiplication to expandFixedPointMul to match the other uses.