This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [x32] PATCH: PR middle-end/47725: [x32] error: unable to find a register to spill in class DIREG
- From: Jeff Law <law at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: "H.J. Lu" <hongjiu dot lu at intel dot com>, gcc-patches at gcc dot gnu dot org
- Date: Mon, 14 Feb 2011 12:05:39 -0700
- Subject: Re: [x32] PATCH: PR middle-end/47725: [x32] error: unable to find a register to spill in class DIREG
- References: <20110214185738.GA13004@intel.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 02/14/11 11:57, H.J. Lu wrote:
> Hi,
>
> cant_combine_insn_p won't check ZERO_EXTEND and SIGN_EXTEND. This
> patch helps cant_combine_insn_p by copying the arg in the incoming mode
> and extending the copy instead of the arg. OK for trunk when stage 1
> is open?
Why not fix the problem in combine? IIRC the whole point behind the
code you're twiddling in function.c is to avoid useless copies due to
extending arguments.
jeff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJNWX0DAAoJEBRtltQi2kC7VhsH/0H+h943mRzeY4xmCOf5RSu0
NI2f0zTAewlfcpqR8eaXSy8A1AYipUnS0NcS2oN7NO5v5A65YdSkGK+SWoqdKls1
eSnvr98AIFTy+ih4CKNxh3xkWNiCdG0LAfZed8zVb4cLPMBDbN5U/kojMHvw2865
pbr/+7QkJ6XNCc2R8oTuVsvxrFn998HhSgFFA2fH2Cs+PCyyg4U3V9agmr4LSsKf
dDoUvg8cGmtsyU/+kDldJ/dA3nzkBRGBrPUWLwOL8B9FFK6e3kcwfi6CegXrZRC4
qaR3Z+bIMeUjM1OPn5vwsp7ks/whtHMY33flwmLYijklaNEdt9FoXYa4BrMRnUc=
=KOsD
-----END PGP SIGNATURE-----