[mips sim]: Fix check for negative dmult operands

Andrew Cagney ac131313@redhat.com
Sun Jun 15 17:04:00 GMT 2003


> Ping?
> 
> Richard Sandiford <rsandifo@redhat.com> writes:
> 
>> do_dmultx tests for negative operands with:
>> 
>>     if (op1 < 0)
>>       {
>>         op1 = - op1;
>>         ++sign;
>>       }
>>     if (op2 < 0)
>>       {
>>         op2 = - op2;
>>         ++sign;
>>       }
>> 
>> but op1 and op2 are unsigned...
>> 
>> The patch below fixes some gcc.c-torture/execute/950426-2.c failures
>> on mipsisa64-elf.  Please install if OK.

(I'm not ment to be maintaing MIPS sim any more :-)

Yes, just add a comment reminding the reader that op1 is already 64 bits.

Andrew


>> Richard
>> 
>> 
>> 	* mips.igen (do_dmultx): Fix check for negative operands.
>> 
>> Index: sim/mips/mips.igen
>> ===================================================================
>> RCS file: /cvs/src/src/sim/mips/mips.igen,v
>> retrieving revision 1.53
>> diff -u -d -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.53 mips.igen
>> --- sim/mips/mips.igen	14 Jan 2003 19:01:41 -0000	1.53
>> +++ sim/mips/mips.igen	7 Jun 2003 10:14:00 -0000
>> @@ -1347,12 +1350,12 @@ 000000,5.RS,5.RT,0000000000,011011:SPECI
>>    sign = 0;
>>    if (signed_p)
>>      {
>> -      if (op1 < 0)
>> +      if ((signed64) op1 < 0)
>>  	{
>>  	  op1 = - op1;
>>  	  ++sign;
>>  	}
>> -      if (op2 < 0)
>> +      if ((signed64) op2 < 0)
>>  	{
>>  	  op2 = - op2;
>>  	  ++sign;
> 
> 




More information about the Gdb-patches mailing list