]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/rs6000/rs6000.h
<patch #10>
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Wed, 25 Nov 2015 22:49:41 +0000 (22:49 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Wed, 25 Nov 2015 22:49:41 +0000 (22:49 +0000)
commitd5906efcaa2b75bc7991909cf56f934d141ecbdb
tree7526c55451b8bf3ed828f529ef373b6378be87b8
parent22bea0be95010c6efc39649d06e0f15c90ca38c4
<patch #10>

[gcc]
2015-11-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

<patch #10>
* config/rs6000/constraints.md (wb constraint): New constraint for
ISA 3.0 d-form scalar addressing.

* config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support
for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into
Altivec registers.  Add wb constraint for Altivec registers with
D-form addressing.  If we have ISA 3.0 d-form support, undo
secondary reload support for using FPR registers if we want to do
D-form addressing.
(rs6000_debug_reg_global): Likewise.
(rs6000_setup_reg_addr_masks): Likewise.
(rs6000_init_hard_regno_mode_ok): Likewise.
(rs6000_secondary_reload): Likewise.
(rs6000_preferred_reload_class): Likewise.
(rs6000_secondary_reload_class): Likewise.

* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb
constraint.

* config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support
for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers.
(f32_lm2): Likewise.
(f32_li2): Likewise.
(f32_sr2): Likewise.
(f32_sm2): Likewise.
(f32_si2): Likewise.
(f64_p9): Likewise.
(extendsfdf2_fpr): Likewise.
(mov<mode>_hardfloat): Likewise.
(mov<mode>_hardfloat32): Likewise.
(mov<mode>_hardfloat64): Likewise.

* doc/md.texi (RS/6000 constraints): Document wb constraint.
Fixup we constraint documentation.

[gcc/testsuite]
2015-11-25  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/dform-1.c: New test.
* gcc.target/powerpc/dform-2.c: Likewise.

From-SVN: r230913
gcc/ChangeLog
gcc/config/rs6000/constraints.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.md
gcc/doc/md.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/dform-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/dform-2.c [new file with mode: 0644]