0021-m68k-sqrt.diff 695 B

123456789101112131415161718
  1. --- gcc-9.2.0.orig/gcc/config/m68k/m68k.md 2019-01-01 07:31:55.000000000 -0500
  2. +++ gcc-9.2.0/gcc/config/m68k/m68k.md 2020-07-01 15:57:20.528408009 -0400
  3. @@ -4126,13 +4126,13 @@
  4. (define_expand "sqrt<mode>2"
  5. [(set (match_operand:FP 0 "nonimmediate_operand" "")
  6. (sqrt:FP (match_operand:FP 1 "general_operand" "")))]
  7. - "TARGET_HARD_FLOAT"
  8. + "(TARGET_68881 && TARGET_68040) || TARGET_COLDFIRE_FPU"
  9. "")
  10. (define_insn "sqrt<mode>2_68881"
  11. [(set (match_operand:FP 0 "nonimmediate_operand" "=f")
  12. (sqrt:FP (match_operand:FP 1 "general_operand" "f<FP:dreg>m")))]
  13. - "TARGET_68881"
  14. + "TARGET_68881 && TARGET_68040"
  15. {
  16. if (FP_REG_P (operands[1]))
  17. return "f<FP:round>sqrt%.x %1,%0";