public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/43862] GCC doesn't use 16-bit armv5te multiplies when possible
  2010-04-23  3:03 [Bug target/43862] New: GCC doesn't use 16-bit armv5te multiplies when possible lessen42+gcc at gmail dot com
@ 2010-04-23  3:03 ` lessen42+gcc at gmail dot com
  2010-04-28 10:06 ` ramana at gcc dot gnu dot org
  1 sibling, 0 replies; 4+ messages in thread
From: lessen42+gcc at gmail dot com @ 2010-04-23  3:03 UTC (permalink / raw)
  To: gcc-bugs



------- 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=20467&action=view)
smul/smla in C


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43862


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/43862]  New: GCC doesn't use 16-bit armv5te multiplies when possible
@ 2010-04-23  3:03 lessen42+gcc at gmail dot com
  2010-04-23  3:03 ` [Bug target/43862] " lessen42+gcc at gmail dot com
  2010-04-28 10:06 ` ramana at gcc dot gnu dot org
  0 siblings, 2 replies; 4+ messages in thread
From: lessen42+gcc at gmail dot com @ 2010-04-23  3:03 UTC (permalink / raw)
  To: gcc-bugs

Attached is several trivial C functions that should compile to single ARMv5te
instructions. The only ones to do so for 4.2 through 4.5 are smultt and smlatt.

arm-none-linux-gnueabi-gcc-4.5.0 -march=armv5te -O3 -S mul16.c


-- 
           Summary: GCC doesn't use 16-bit armv5te multiplies when possible
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: lessen42+gcc at gmail dot com
 GCC build triplet: x86_64-apple-darwin
  GCC host triplet: x86_64-apple-darwin
GCC target triplet: arm-none-linux-gnueabi


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43862


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/43862] GCC doesn't use 16-bit armv5te multiplies when possible
  2010-04-23  3:03 [Bug target/43862] New: GCC doesn't use 16-bit armv5te multiplies when possible lessen42+gcc at gmail dot com
  2010-04-23  3:03 ` [Bug target/43862] " lessen42+gcc at gmail dot com
@ 2010-04-28 10:06 ` ramana at gcc dot gnu dot org
  1 sibling, 0 replies; 4+ messages in thread
From: ramana at gcc dot gnu dot org @ 2010-04-28 10:06 UTC (permalink / raw)
  To: gcc-bugs



------- 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|0000-00-00 00:00:00         |2010-04-28 10:06:44
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43862


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/43862] GCC doesn't use 16-bit armv5te multiplies when possible
       [not found] <bug-43862-4@http.gcc.gnu.org/bugzilla/>
@ 2011-08-23 10:08 ` ams at gcc dot gnu.org
  0 siblings, 0 replies; 4+ messages in thread
From: ams at gcc dot gnu.org @ 2011-08-23 10:08 UTC (permalink / raw)
  To: gcc-bugs

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.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-08-23  9:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-23  3:03 [Bug target/43862] New: GCC doesn't use 16-bit armv5te multiplies when possible lessen42+gcc at gmail dot com
2010-04-23  3:03 ` [Bug target/43862] " lessen42+gcc at gmail dot com
2010-04-28 10:06 ` ramana at gcc dot gnu dot org
     [not found] <bug-43862-4@http.gcc.gnu.org/bugzilla/>
2011-08-23 10:08 ` ams at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).