This is the mail archive of the 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: [PATCH, SH4] Fix PR58475 insn swapb does not satisfy its constraints

> Christian Bruel <> wrote:
>>  (define_insn "*mov<mode>_reg_reg"
>> -  [(set (match_operand:QIHI 0 "arith_reg_dest" "=r,m,*z")
>> -	(match_operand:QIHI 1 "register_operand" "r,*z,m"))]
>> -  "TARGET_SH1 && !t_reg_operand (operands[1], VOIDmode)"
>> +  [(set (match_operand:QIHI 0 "general_movdst_operand" "=r,m,*z")
>> +	(match_operand:QIHI 1 "general_movsrc_operand" "r,*z,m"))]
>> +  "TARGET_SH1 && !t_reg_operand (operands[1], VOIDmode)
>> +   && arith_reg_dest (operands[0], <MODE>mode)
>> +   && register_operand (operands[1], <MODE>mode)"
> I thought that predicates explicitly allowing mem only when reload
> in progress are defensive because I guess there is no guarantee
> that the condition part of the insn will be never used in spilling.
> Re-factoring suggested by Oleg and Rechard would be the right thing
> to do, though it might be a bit invasive for 4.8.

Ugh, this should be for

Re: [PATCH, committed] SH: Fix PR58314 (unsatisfied constraints)

Sorry for wrong reply.


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