[PATCH] PowerPC merge TD/TF moves
David Edelsohn
dje.gcc@gmail.com
Tue Feb 5 18:46:00 GMT 2013
On Wed, Jan 30, 2013 at 5:50 PM, Michael Meissner
<meissner@linux.vnet.ibm.com> wrote:
> This patch like the previous 2 pages combines the decimal and binary floating
> point moves, this time for 128-bit floating point.
>
> In doing this patch, I discovered that I left out the code in the previous
> patch to enable the wg constraint to enable -mcpu=power6x to utilize the direct
> move instructions. So, I added the code in this patch, and also created a test
> to make sure that direct moves are generated in the future.
>
> I also added the reload helper for DDmode to rs6000_vector_reload that was
> missed in the last patch. This was harmless, since that is only used with an
> undocumented debug switch. Hopefully sometime in the future, I will scalar
> floating point to be able to be loaded in the upper 32 VSX registers that are
> overlaid over the Altivec registers.
>
> Like the previous 2 patches, I've bootstrapped this, and ran make check with no
> regressions. Is it ok to apply when GCC 4.9 opens up?
>
> I have one more patch in the insn combination to post, combining movdi on
> systems with normal floating point and with the power6 direct move
> instructions.
>
> [gcc]
> 2013-01-30 Michael Meissner <meissner@linux.vnet.ibm.com>
>
> * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print out wg
> constraint if -mdebug=reg.
> (rs6000_initi_hard_regno_mode_ok): Enable wg constraint if
> -mfpgpr. Enable using dd reload support if needed.
>
> * config/rs6000/dfp.md (movtd): Delete, combine with 128-bit
> binary and decimal floating point moves in rs6000.md.
> (movtd_internal): Likewise.
>
> * config/rs6000/rs6000.md (FMOVE128): Combine 128-bit binary and
> decimal floating point moves.
> (movtf): Likewise.
> (movtf_internal): Likewise.
> (mov<mode>_internal, TDmode/TFmode): Likewise.
> (movtf_softfloat): Likewise.
> (mov<mode>_softfloat, TDmode/TFmode): Likewise.
>
> [gcc/testsuite]
> 2013-01-30 Michael Meissner <meissner@linux.vnet.ibm.com>
>
> * gcc.target/powerpc/mmfpgpr.c: New test.
This patch is okay after 4.9 tree opens. Again, please confirm that
it works on pre-POWER7 systems.
Thanks, David
More information about the Gcc-patches
mailing list