This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug optimization/14255] New: i386 backend should be teachedhow to use divl
- From: "Zack Weinberg" <zack at codesourcery dot com>
- To: gcc-bugzilla at gcc dot gnu dot org
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 23 Feb 2004 09:10:48 -0800
- Subject: Re: [Bug optimization/14255] New: i386 backend should be teachedhow to use divl
- References: <20040223080809.14255.bernie@develer.com>
"bernie at develer dot com" <gcc-bugzilla@gcc.gnu.org> writes:
> When dividing a 64bit integer by a 32bit integer,
> GCC promotes everything to 64bits and generates
> dumb code calling *both* __divdi3 and __moddi3.
This ought to be addressable with a pattern of the form
(parallel [
(set (reg:SI quo)
(truncate:SI (div:DI (reg:DI dividend)
(zero_extend:DI (reg:SI divisor)))))
(set (reg:SI rem)
(truncate:SI (mod:DI (reg:DI dividend)
(zero_extend:DI (reg:SI divisor)))))
])
but I am not sure where it goes in i386.md.
zw