+2017-11-29 Martin Aberg <maberg@gaisler.com>
+
+ * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
+ to prevent b2bst errata sequence.
+ (sqrtdf2_fix): Likewise.
+
2017-11-29 Daniel Cederman <cederman@gaisler.com>
* config/sparc/sparc.c (fpop_reg_depend_p): New function.
(div:DF (match_operand:DF 1 "register_operand" "e")
(match_operand:DF 2 "register_operand" "e")))]
"TARGET_FPU && sparc_fix_ut699"
- "fdivd\t%1, %2, %0\n\tstd\t%0, [%%sp-8]\n\tnop"
+ "fdivd\t%1, %2, %0\n\tnop\n\tstd\t%0, [%%sp-8]\n\tnop"
[(set_attr "type" "fpdivd")
(set_attr "fptype" "double")
- (set_attr "length" "3")])
+ (set_attr "length" "4")])
(define_insn "divsf3"
[(set (match_operand:SF 0 "register_operand" "=f")
[(set (match_operand:DF 0 "register_operand" "=e")
(sqrt:DF (match_operand:DF 1 "register_operand" "e")))]
"TARGET_FPU && sparc_fix_ut699"
- "fsqrtd\t%1, %0\n\tstd\t%0, [%%sp-8]\n\tnop"
+ "fsqrtd\t%1, %0\n\tnop\n\tstd\t%0, [%%sp-8]\n\tnop"
[(set_attr "type" "fpsqrtd")
(set_attr "fptype" "double")
- (set_attr "length" "3")])
+ (set_attr "length" "4")])
(define_insn "sqrtsf2"
[(set (match_operand:SF 0 "register_operand" "=f")