This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH,RX] Support Bit Manipulation on Memory Operands
- From: Richard Henderson <rth at redhat dot com>
- To: "Naveen H. S" <Naveen dot S at kpitcummins dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 06 Nov 2012 14:30:12 -0800
- Subject: Re: [PATCH,RX] Support Bit Manipulation on Memory Operands
- References: <5CD0E437A05A514A90A1B12527F331543D154EC6@KCHJEXMB02.kpit.com>
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~