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


"Mile Davidovic" <mile.davidovic@micronasnit.com> writes:

> Thanks a lot for Your answers.
> 
> 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.

Ian


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