[Bug target/43862] GCC doesn't use 16-bit armv5te multiplies when possible
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43862 Andrew Stubbs ams at gcc dot gnu.org changed: What|Removed |Added CC||ams at gcc dot gnu.org --- Comment #3 from Andrew Stubbs ams at gcc dot gnu.org 2011-08-23 09:57:38 UTC --- I've just committed some patches to address use of the widening multiplies, both in the RTL optimizers and the tree-ssa optimizers. David, please check again and see if this works for you now. If you find some missed opportunities that might be useful. My patches should address smulxy and smlalxy. It may also indirectly improve use of smulwy and smlawy but that job will have to be finished with combine, so YMMV.
[Bug target/43862] GCC doesn't use 16-bit armv5te multiplies when possible
--- Comment #2 from ramana at gcc dot gnu dot org 2010-04-28 10:06 --- * I don't see why smulbb, smultb, smulbt, smultt shouldn't be generated for their respective cases. So, yes that's correct. * smulwy is not supported in the backend, so that's a feature enhancement * smlawy is again not supported in the backend and anyone implementing this should note that overflow in the accumulate step is a part of the saturated Q bit. Also it isn't correct to be generating smlawy in the cases mentioned there. * smlaxy is something that could be generated in a few of the occasions but the PCS defeats us in these circumstances because we assume that the values passed in are appropriately zero /sign extended. -- ramana at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |enhancement Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||missed-optimization Known to fail||4.5.0 Last reconfirmed|-00-00 00:00:00 |2010-04-28 10:06:44 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43862
[Bug target/43862] GCC doesn't use 16-bit armv5te multiplies when possible
--- Comment #1 from lessen42+gcc at gmail dot com 2010-04-23 03:03 --- Created an attachment (id=20467) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20467action=view) smul/smla in C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43862