0006-m68k-sqrt.diff 703 B

1234567891011121314151617181920
  1. diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
  2. index 8e35357ea23..65c8b10b3eb 100644
  3. --- a/gcc/config/m68k/m68k.md
  4. +++ b/gcc/config/m68k/m68k.md
  5. @@ -4174,13 +4174,13 @@
  6. (define_expand "sqrt<mode>2"
  7. [(set (match_operand:FP 0 "nonimmediate_operand" "")
  8. (sqrt:FP (match_operand:FP 1 "general_operand" "")))]
  9. - "TARGET_HARD_FLOAT"
  10. + "(TARGET_68881 && TARGET_68040) || TARGET_COLDFIRE_FPU"
  11. "")
  12. (define_insn "sqrt<mode>2_68881"
  13. [(set (match_operand:FP 0 "nonimmediate_operand" "=f")
  14. (sqrt:FP (match_operand:FP 1 "general_operand" "f<FP:dreg>m")))]
  15. - "TARGET_68881"
  16. + "TARGET_68881 && TARGET_68040"
  17. {
  18. if (FP_REG_P (operands[1]))
  19. return "f<FP:round>sqrt%.x %1,%0";