This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, i386]: PR target/14631: Fix pinsrw instruction
- From: Richard Henderson <rth at redhat dot com>
- To: Uros Bizjak <uros at kss-loka dot si>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 28 Dec 2004 11:47:40 -0800
- Subject: Re: [PATCH, i386]: PR target/14631: Fix pinsrw instruction
- References: <41D11F28.email@example.com> <41D134C0.firstname.lastname@example.org>
On Tue, Dec 28, 2004 at 11:26:08AM +0100, Uros Bizjak wrote:
> if (REG_P (operands))
> operands = gen_lowpart_SUBREG (HImode, operands);
No, plain gen_lowpart is correct. See below.
> + (vec_duplicate:V4HI
> + (subreg:HI
> + (match_operand:SI 2 "register_operand" "r") 0))
> - (vec_duplicate:V4HI
> - (truncate:HI (match_operand:SI 2 "nonimmediate_operand" "rm")))
Putting the reg and mem cases in different patterns is wrong.
What you want for the register case is to use %k2, which will
force "eax" to be printed instead of "ax". It has no effect
on memories at all, so it's still safe to use there.