diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f933e1ad..e53f9e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 4205589..81032c9 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -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)'. */ |