aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-03-24 14:03:24 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2017-03-24 14:03:24 +0000
commit2de2b3f93b964081665a990a8b5645709302d834 (patch)
treec7a824e4b8094939d8ab3a5b9cb226e07bf9c896 /gcc/fortran
parent7d2fd07577b71f2ef3143ffb80ca6223d06dd396 (diff)
downloadgcc-2de2b3f93b964081665a990a8b5645709302d834.zip
gcc-2de2b3f93b964081665a990a8b5645709302d834.tar.gz
gcc-2de2b3f93b964081665a990a8b5645709302d834.tar.bz2
S/390: arch12: Support new vector floating point modes.
This patch adds support for the new floating point vector elements (SF and TF) introduced with arch12. gcc/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_expand_vec_compare): Support other vector floating point modes than just V2DF. (s390_expand_vcond): Likewise. (s390_hard_regno_mode_ok): Allow SFmode values in VRs. (s390_cannot_change_mode_class): Prevent mode changes between TF and V1TF in vector registers. * config/s390/s390.md (DF, SF): New mode attributes. ("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3") ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add SFmode support for VRs. * config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new vector fp modes. (VFT, VF_HW): New mode iterators. (vw, sdx): New mode attributes. ("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2") ("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2") ("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc") ("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df") ("vec_unorderedv2df"): Adjust the v2df only patterns to support also the new vector floating point modes. Renaming to ... ("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3") ("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2") ("abs<mode>2", "negabs<mode>2", "smax<mode>3") ("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc") ("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>") ("vec_unordered<mode>"): ... these. ("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe") ("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf") ("*vec_extendv2df"): New insn definitions. gcc/testsuite/ChangeLog: 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/vxe/negfma-1.c: New test. From-SVN: r246458
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions