This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: insn does not satisfy its constraints
>Hi All,
> I am getting the error message bellow while hacking my gcc backend.
>Any suggestions on how to fix this?
>
>error: insn does not satisfy its constraints:
>(insn 25 50 26 2 (set (reg:HI 1 %r0 [33])
> (plus:HI (mem/s/j:HI (plus:HI (reg:HI 3 %r2)
> (reg/v/f:HI 11 %i2h [orig:28 cell ] [28])) [0
><variable>.dod S2 A8])
> (reg:HI 1 %r0 [43]))) 8 {*addhi3} (insn_list:REG_DEP_TRUE 3
>(insn_list:REG_DEP_TRUE 24 (nil)))
> (nil))
>
Operand 0 is a register
Operand 1 is a memory
Operand 2 is a register
>
>The md description for this instruction is:
>
>;; addhi3
>(define_expand "addhi3"
> [(set (match_operand:HI 0 "register_operand" "")
> (plus:HI (match_operand:HI 1 "cool_addhi_operand" "")
> (match_operand:HI 2 "cool_addhi_operand" "")))]
> ""
> "")
>
>(define_insn "*addhi3"
> [(set (match_operand:HI 0 "register_operand" "=r ,r ,r")
> (plus:HI (match_operand:HI 1 "cool_addhi_operand" "%0 ,rim,r")
> (match_operand:HI 2 "cool_addhi_operand" "rim,0 ,r")))]
> ""
Do you have an option where operand 0 is reg and operand 1 is mem and
operand 2 is reg?
I am not sure what rim is for?
Shafi
--
View this message in context: http://www.nabble.com/insn-does-not-satisfy-its-constraints-tp19211080p19218836.html
Sent from the gcc - Dev mailing list archive at Nabble.com.