This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [patches] Re: x86-64 merger part 9 - few cleanups/fixes


> On Sat, Mar 10, 2001 at 02:33:11PM +0100, Jan Hubicka wrote:
> >   (define_expand "ashrdi3"
> [...]
> > +   if (TARGET_64BIT)
> > +     {
> > +       ix86_expand_binary_operator (ASHIFTRT, DImode, operands); DONE;
> > +     }
> 
> Why is this one different from the other two?  We hadn't been doing
> ix86_expand_binary_operator on these, but perhaps we should have been.
Hmm, I see - it does have "register_operand" predicates on i386, so
expand binary operator is no-op.

I will send separate patch making them to use "nonimmediate_operand" and
expand_bianary_operator instead.
> 
> > -    {cltd|cdq}
> > +    {cltd|cdqe}
> 
> Surely this is wrong.
Oops - I got overactive when I was switching to the new form.
cdqe sign extends 32bit value in 64bit register,
while cdq extends 32bit value to two 32bit registers.
In this case cdq is surely the corect one.

Thanks for _very_ curefull reviews!
Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]