[Fortran] Use MIN/MAX_EXPR or IFN_FMIN/MAX for min/max intrinsics when possible
commitca6fd1429dfd6e2c01acea21ce2331684ffe507f
authorktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Jul 2018 09:49:36 +0000 (19 09:49 +0000)
committerktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Jul 2018 09:49:36 +0000 (19 09:49 +0000)
tree78671068a29a8ff779e7a38e755a617b3e7544ca
parent3c3771e06d7e96c193c524ac4dfb5eade8436b62
[Fortran] Use MIN/MAX_EXPR or IFN_FMIN/MAX for min/max intrinsics when possible

* trans-intrinsic.c: (gfc_conv_intrinsic_minmax): Emit MIN_MAX_EXPR
or IFN_FMIN/FMAX sequence to calculate the min/max when possible.

* gfortran.dg/max_fmax_aarch64.f90: New test.
* gfortran.dg/min_fmin_aarch64.f90: Likewise.
* gfortran.dg/minmax_integer.f90: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262876 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/trans-intrinsic.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/max_fmax_aarch64.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/min_fmin_aarch64.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/minmax_integer.f90 [new file with mode: 0644]