This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: Modifying ARM code generator for elimination of 8bit writes - need help
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: 'Wolfgang Mües' <wolfgang at iksw-muees dot de>, "'Rask Ingemann Lambertsen'" <rask at sygehus dot dk>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Thu, 20 Jul 2006 12:04:53 +0100
- Subject: RE: Modifying ARM code generator for elimination of 8bit writes - need help
On 20 July 2006 07:03, Wolfgang Mües wrote:
> Hello Rask,
>
> On Wednesday 19 July 2006 13:24, Rask Ingemann Lambertsen wrote:
>> I've spotted a function named emit_set_insn() in arm.c. It might be
>> the problem, because it uses gen_rtx_SET() directly.
>
> But it's not the only function which uses gen_rtx_SET. There are also
> much places with
>
>> emit_constant_insn (cond,
>> gen_rtx_SET (VOIDmode, target, source));
>
> Isn't it better to replace gen_rtx_SET?
>
Is there any generic advice available as to when and why one should use
emit_insn (gen_rtx_SET (....)) as opposed to emit_move_insn (...)?
(There are other similar pairs of functions with seemingly overlapping
functionality that I find equally confusing. For instance, I *think* that you
should only use gen_rtx_REG when you want to create a new pseudo, and that in
the general case of wanting an rtx that refers to an existing pseudo or a hard
reg you're supposed to use gen_reg_rtx which takes care of sharing and
everything for you... but I haven't seen any solid documentation that backs up
my hypothesis.)
cheers,
DaveK
--
Can't think of a witty .sigline today....