This is an archive of the discontinued LLVM Phabricator instance.

Clean-up of smul and smla instruction descriptions for ARM
ClosedPublic

Authored by samparker on Apr 5 2016, 7:31 AM.

Details

Summary

Removed the SDNode argument passed to the AI_smul and AI_smla multiclass definitions as the node is always a mul. Also the corrected the descriptions in AI_smld for instructions which takes four arguments and use two of them also for the 64-bit result.

Diff Detail

Repository
rL LLVM

Event Timeline

samparker updated this revision to Diff 52687.Apr 5 2016, 7:31 AM
samparker retitled this revision from to Clean-up of smul and smla instruction descriptions for ARM.
samparker updated this object.

Hi Sam,

There are two changes in here. The first one (smul/smla) is fine as it is, please commit independently.

The second one, I'm not sure. It does make sense, but I'm surprised it matched to anything. Can you provide a test case which shows what was the intended target and why it wasn't being hit?

cheers,
--renato

Hi Renato,

Thanks for the review. There's still no pattern matching for the smlald and smlaldx, so this doesn't change anything yet. But I have another patch to follow which uses intrinsics and custom lowering and matching for them, as well as the tests but wanted to get the basic description corrected first.

cheers,
sam

Thanks for the review. There's still no pattern matching for the smlald and smlaldx, so this doesn't change anything yet. But I have another patch to follow which uses intrinsics and custom lowering and matching for them, as well as the tests but wanted to get the basic description corrected first.

Right, maybe better to leave that for the next patch, then.

cheers,
--renato

samparker updated this revision to Diff 52698.Apr 5 2016, 8:49 AM

Removed the changes to AI_smld instruction descriptions.

This revision was automatically updated to reflect the committed changes.