This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] GCC 4.9 powerpc, fix insn type attribute for load/store insns
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Pat Haugen <pthaugen at linux dot vnet dot ibm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 14 Feb 2013 12:01:16 -0500
- Subject: Re: [PATCH] GCC 4.9 powerpc, fix insn type attribute for load/store insns
- References: <5119AAB1.2000701@linux.vnet.ibm.com>
On Mon, Feb 11, 2013 at 9:36 PM, Pat Haugen <pthaugen@linux.vnet.ibm.com> wrote:
> The following patch fixes the assignment of the insn "type" attribute for
> loads and stores. Specifically, it will now appropriately assign update form
> and update-indexed form type attributes which allows for better instruction
> scheduling by honoring group formation restrictions and (to a lesser extent)
> insn latency for the updated address reg. The patch is based on Mike
> Meissner's prior 4.9 submissions for move pattern combinations.
>
> Bootstrap/regtest on powerpc64-linux with no new regressions. Ok for 4.9
> when it opens up?
>
>
> 2013-02-12 Pat Haugen <pthaugen@us.ibm.com>
> * config/rs6000/predicates.md (indexed_address, update_address_mem
> update_indexed_address_mem): New predicates.
> * config/rs6000/vsx.md (vsx_extract_<mode>_zero): Set correct "type"
> attribute for load/store instructions.
> * config/rs6000/dfp.md (movsd_store): Likewise.
> (movsd_load): Likewise.
> * config/rs6000/rs6000.md (zero_extend<mode>di2_internal1):
> Likewise.
> (unnamed HI->DI extend define_insn): Likewise.
> (unnamed SI->DI extend define_insn): Likewise.
> (unnamed QI->SI extend define_insn): Likewise.
> (unnamed QI->HI extend define_insn): Likewise.
> (unnamed HI->SI extend define_insn): Likewise.
> (unnamed HI->SI extend define_insn): Likewise.
> (extendsfdf2_fpr): Likewise.
> (movsi_internal1): Likewise.
> (movsi_internal1_single): Likewise.
> (movhi_internal): Likewise.
> (movqi_internal): Likewise.
> (movcc_internal1): Correct mnemonic for stw insn. Set correct "type"
> attribute for load/store instructions.
> (mov<mode>_hardfloat): Set correct "type" attribute for load/store
> instructions.
> (mov<mode>_softfloat): Likewise.
> (mov<mode>_hardfloat32): Likewise.
> (mov<mode>_hardfloat64): Likewise.
> (mov<mode>_softfloat64): Likewise.
> (movdi_internal32): Likewise.
> (movdi_internal64): Likewise.
> (probe_stack_<mode>): Likewise.
This is okay for GCC 4.9, when it opens.
Thanks, David