diff options
author | Alan Modra <amodra@gmail.com> | 2016-02-16 09:59:17 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2016-02-16 09:59:17 +1030 |
commit | b306ab3aa7b1ad11323d079fe11ada1d0473c38a (patch) | |
tree | d80ac91a50af226094756fadda7721b277748950 /gcc/tree-vect-patterns.c | |
parent | a16bdb4eae09f5f2476998985382de13cb889fc0 (diff) | |
download | gcc-b306ab3aa7b1ad11323d079fe11ada1d0473c38a.zip gcc-b306ab3aa7b1ad11323d079fe11ada1d0473c38a.tar.gz gcc-b306ab3aa7b1ad11323d079fe11ada1d0473c38a.tar.bz2 |
[RS6000] reload_vsx_from_gprsf splitter
This is PR68973 part 2, caused by the reload_vsx_from_gprsf splitter
emitting an invalid move. The patch also fixes uses of TFmode, which
cannot now be assumed to be IBM double-double.
PR target/68973
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
(p8_mtvsrd_df, p8_mtvsrd_sf): New.
(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
(p8_mtvsrwz): New.
(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
(p8_fmrgow_<mode>): Likewise.
(reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
changes.
(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
to use movdi_internal64. Remove op0_di.
* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
From-SVN: r233438
Diffstat (limited to 'gcc/tree-vect-patterns.c')
0 files changed, 0 insertions, 0 deletions