MIPS: Make loongson3a use fused madd.d

gcc/
	* config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
	TARGET_LOONGSON_3A.
	(ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.

From-SVN: r244641
This commit is contained in:
Chenghua Xu 2017-01-19 16:26:32 +00:00 committed by Matthew Fortune
parent ab6b44cb22
commit cedb7e2c85
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2017-01-19 Chenghua Xu <paul.hua.gm@gmail.com>
* config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
TARGET_LOONGSON_3A.
(ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
2017-01-19 Doug Gilmore <doug.gilmore@imgtec.com>
PR target/78176

View File

@ -1066,11 +1066,13 @@ struct mips_cpu_info {
/* ISA has 4 operand fused madd instructions of the form
'd = [+-] (a * b [+-] c)'. */
#define ISA_HAS_FUSED_MADD4 TARGET_MIPS8000
#define ISA_HAS_FUSED_MADD4 (TARGET_MIPS8000 || TARGET_LOONGSON_3A)
/* ISA has 4 operand unfused madd instructions of the form
'd = [+-] (a * b [+-] c)'. */
#define ISA_HAS_UNFUSED_MADD4 (ISA_HAS_FP4 && !TARGET_MIPS8000)
#define ISA_HAS_UNFUSED_MADD4 (ISA_HAS_FP4 \
&& !TARGET_MIPS8000 \
&& !TARGET_LOONGSON_3A)
/* ISA has 3 operand r6 fused madd instructions of the form
'c = c [+-] (a * b)'. */