This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PR target/50038 fix: redundant zero extensions removal


2011/12/16 Eric Botcazou <ebotcazou@adacore.com>:
>
> The patch is OK (modulo the following nits) but I cannot approve the pure x86
> part. ?So you can install it without this part (i.e. just rename flag_zee to
> flag_ree in ix86_option_override_internal with a corresponding ChangeLog) if
> you also install at least one testcase (e.g. for the x86-64 architecture) that
> is "fixed" by the patch in the testsuite. ?Then repost the pure x86 part with
> at least one testcase for the x86 architecture and ask for approval by a x86
> maintainer.
>
> Now on to the couple of nits:
>
> @@ -6708,6 +6708,14 @@ Perform a number of minor optimizations that are
> relatively expensive.
>
> ?Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
>
> +@item -free
> +@opindex free
> +Attempt to remove redundant extension instructions. This is especially
>
> The double space after period is also meant for the .texi files.
>
> +helpful for x86-64 architecture which implicitly zero-extend in 64-bit
>
> ...for the x86-64 architecture... zero-extends ...
>
> +registers after writing to their lower 32-bit half.
>
> --
> Eric Botcazou

Thanks, Eric!

Here is final patch without i386 part (so, new pass is still for
x86_64 only) and with test added. Bootstrapped and checked on
linux-x86_64. New test passes with patch applied only.

Thanks,
Ilya
---
gcc/

2011-12-20  Enkovich Ilya  <ilya.enkovich@intel.com>

	PR target/50038
	* implicit-zee.c: Delete.
	* ree.c: New file.
	* Makefile.in: Replace implicit-zee.c with ree.c.
	* config/i386/i386.c (ix86_option_override_internal): Rename
	flag_zee to flag_ree.
	* common.opt (fzee): Ignored.
	(free): New.
	* passes.c (init_optimization_passes): Replace pass_implicit_zee
	with pass_ree.
	* tree-pass.h (pass_implicit_zee): Delete.
	(pass_ree): New.
	* timevar.def (TV_ZEE): Delete.
	(TV_REE): New.
	* doc/invoke.texi: Add -free description.

gcc/testsuite/

2011-12-20  Enkovich Ilya  <ilya.enkovich@intel.com>

	PR target/50038
	* gcc.dg/pr50038.c: New test.

Attachment: PR50038.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]