diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2015-11-25 22:49:41 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2015-11-25 22:49:41 +0000 |
commit | d5906efcaa2b75bc7991909cf56f934d141ecbdb (patch) | |
tree | 7526c55451b8bf3ed828f529ef373b6378be87b8 /gcc/doc | |
parent | 22bea0be95010c6efc39649d06e0f15c90ca38c4 (diff) | |
download | gcc-d5906efcaa2b75bc7991909cf56f934d141ecbdb.zip gcc-d5906efcaa2b75bc7991909cf56f934d141ecbdb.tar.gz gcc-d5906efcaa2b75bc7991909cf56f934d141ecbdb.tar.bz2 |
<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
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/md.texi | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index add8920..8e3f8f5 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -3138,11 +3138,15 @@ asm ("xsaddqp %x0,%x1,%x2" : "=v" (v1) : "v" (v2), "v" (v3)); is incorrect. +@item wb +Altivec register if @option{-mpower9-dform} is used or NO_REGS. + @item wd VSX vector register to hold vector double data or NO_REGS. @item we -VSX register if the -mpower9-vector -m64 options were used or NO_REGS. +VSX register if the @option{-mpower9-vector} and @option{-m64} options +were used or NO_REGS. @item wf VSX vector register to hold vector float data or NO_REGS. |