This is the mail archive of the gcc@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]
Other format: [Raw text]

RE: Mips question


Thanks a lot again.
 
>> In mips.md:
>> 
>> Is it enough to add && 0 here: 
>> 
>> (define_expand "extv"
>>   [(set (match_operand 0 "register_operand" "")
>> 	(sign_extract (match_operand:QI 1 "memory_operand" "")
>> 		      (match_operand 2 "immediate_operand" "")
>> 		      (match_operand 3 "immediate_operand" "")))]
>>   "!TARGET_MIPS16 && 0"
>> ....

> There and the other two insns should be almost enough.  You will also have
to do something about mips_block_move_straight() in 
> mips.c.  I suspect that the easiest thing to do would be to add "&& 0" in
the condition for movmemsi in mips.md.  ?
>There isn't much reason to have a special MIPS version of movmemsi if you
don't have lwl and friends.

>It would probably be appropriate to submit a patch to add a compiler option
to do this, since I think there 
>are various unlicensed MIPS clones out there which don't have those
instructions.

Thanks again. I will submit a patch. 

I forbid next insns: extv, extzv, insv, mov_lwl, mov_lwr, mov_swl, mov_swr.
But I can not find movmemsi? 
I think that I can not sent patch with && 0 in mips.md, so question what is
proper way to do something like this?



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