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: Patch to fix incorrect uses of sets_cc0_p.


>> (define_expand "cmpsi"
>>   [(set (cc0)
>>         (compare:CC (match_operand:SI 0 "register_operand" "")
>>                     (match_operand:SI 1 "arith_operand" "")))]
>>   ""
>>   "
>> {
>>   if (operands[0])              /* avoid unused code message */
>>     {
>>       branch_cmp[0] = operands[0];
>>       branch_cmp[1] = operands[1];
>>       branch_type = CMP_SI;
>>       DONE;
>>     }
>> }")
>> 
>> In what sense is it not a CC0 target?
>
>In the sense that the reference cc0 will never really be generated?
>The code always hits a DONE, so doesn't output any rtl for cmpsi.

I see what you mean.  It's a curious way to write a machine description.
Time to test the patch on a different simulator.  Thanks to all for
clarifying the issue.

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------


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