[PATCH, SH4] Fix PR58475 insn swapb does not satisfy its constraints

Kaz Kojima kkojima@rr.iij4u.or.jp
Fri Sep 20 06:25:00 GMT 2013


> Christian Bruel <christian.bruel@st.com> 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)
http://gcc.gnu.org/ml/gcc-patches/2013-09/msg01447.html

Sorry for wrong reply.

Regards,
	kaz



More information about the Gcc-patches mailing list