[PATCH,RX] Support Bit Manipulation on Memory Operands

Richard Henderson rth@redhat.com
Tue Nov 6 22:48:00 GMT 2012


On 2012-11-06 06:37, Naveen H. S wrote:
> +(define_insn "iorbset_mem"
> +  [(set (match_operand:QI 0 "rx_restricted_mem_operand" "=Q")
> +	(ior:QI (match_operand:QI 1 "rx_restricted_mem_operand" "%0")
> +		(match_operand 2 "const_int_operand" "Intso")))]
> +  "satisfies_constraint_Intso (operands[2])"
> +  "bset\\t%D2,%0.B"
> +  [(set_attr "length" "3")]

You need to use match_dup instead of a matching constraint.
If there are two totally separate memory operands, reload
will not be able to fix them up.

Further, I think most of these pattern names are not used.
Every one that isn't explicitly invoked should have a 
leading "*" in the name.


r~



More information about the Gcc-patches mailing list