Hi, Richard, How about if I add and utilize "umul_highpart_di" to the libgcc instead of expanding multiplication for the high part directly, or add my own function with with pre-shift, post-shift, and 64-bit constant and 64-bit operand as function parameters for division for less than "-O3"? thanks, Dinar.
On Fri, Jun 15, 2012 at 12:12 PM, Richard Earnshaw <rearn...@arm.com> wrote: > On 14/06/12 19:46, Dinar Temirbulatov wrote: >> Hi, >> OK for trunk? >> thanks, Dinar. >> > > I'm still not comfortable about the code bloat that this is likely to > incurr at -O2. > > R. > >> On Tue, Jun 12, 2012 at 11:00 AM, Paolo Bonzini <bonz...@gnu.org> wrote: >>> Il 12/06/2012 08:52, Dinar Temirbulatov ha scritto: >>>>> is safe? That is, that the underflows cannot produce a wrong result? >>> >>> [snip] >>> >>> Thanks very much! >>> >>> Paolo= >>> >>> ChangeLog.txt >>> >>> >>> 2012-06-14 Dinar Temirbulatov <dtemirbula...@gmail.com> >>> Alexey Kravets <mr.kayr...@gmail.com> >>> Paolo Bonzini <bonz...@gnu.org> >>> >>> * config/arm/arm.c (arm_rtx_costs_1): Add cost estimate for the integer >>> double-word division operation. >>> * config/mips/mips.c (mips_rtx_costs): Extend cost estimate for the >>> integer >>> double-word division operation for 32-bit targets. >>> * gcc/expmed.c (expand_mult_highpart_optab): Allow to generate the >>> higher multipilcation >>> product for unsigned double-word integers using 32-bit wide registers. >>> >>> 30.patch >>> >>> >>> N ¬n‡r¥ªíÂ)emçhÂyhi× ¢w^™©Ý > >