diff options
author | Jie Mei <jie.mei@oss.cipunited.com> | 2024-04-28 16:57:31 +0800 |
---|---|---|
committer | YunQiang Su <syq@gcc.gnu.org> | 2024-04-29 11:56:04 +0800 |
commit | 11c13111ac64a035d6c4ea6c118eff4ece7a9d9b (patch) | |
tree | ea255cf0f532fdaae78d0e6c9d4c7fb362f5729e /libcpp | |
parent | deb69bfbb000339fbef316916cf6c46156c6af1b (diff) | |
download | gcc-11c13111ac64a035d6c4ea6c118eff4ece7a9d9b.zip gcc-11c13111ac64a035d6c4ea6c118eff4ece7a9d9b.tar.gz gcc-11c13111ac64a035d6c4ea6c118eff4ece7a9d9b.tar.bz2 |
MIPS: Add MIN/MAX.fmt instructions support for MIPS R6
This patch adds the smin/smax RTL mode for the
min/max.fmt instructions.
Also, since the min/max.fmt instrucions applies to the
IEEE 754-2008 "minNum" and "maxNum" operations, this
patch also provides the new "fmin<mode>3" and
"fmax<mode>3" modes.
gcc/ChangeLog:
* config/mips/i6400.md (i6400_fpu_minmax): New
define_insn_reservation.
* config/mips/mips.h (ISA_HAS_FMIN_FMAX): Define new macro.
* config/mips/mips.md (UNSPEC_FMIN): New unspec.
(UNSPEC_FMAX): Same as above.
(type): Add fminmax.
(smin<mode>3): Generates MIN.fmt instructions.
(smax<mode>3): Generates MAX.fmt instructions.
(fmin<mode>3): Generates MIN.fmt instructions.
(fmax<mode>3): Generates MAX.fmt instructions.
* config/mips/p6600.md (p6600_fpu_fabs): Include fminmax
type.
gcc/testsuite/ChangeLog:
* gcc.target/mips/mips-minmax1.c: New test for MIPS R6.
* gcc.target/mips/mips-minmax2.c: Same as above.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions