Skip to content
Snippets Groups Projects
Commit 40ba0566 authored by dtc's avatar dtc
Browse files

Remove the unneeded nop between floating-point compare and branch

instructions on the Sparc V9. From Raymond Toy.
parent 31ba9b6c
Branches
Tags
No related merge requests found
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/float.lisp,v 1.24 1998/07/24 17:22:37 dtc Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/float.lisp,v 1.25 1999/11/18 14:25:39 dtc Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -790,7 +790,10 @@ ...@@ -790,7 +790,10 @@
(:single (inst fcmps x y)) (:single (inst fcmps x y))
(:double (inst fcmpd x y)) (:double (inst fcmpd x y))
(:long (inst fcmpx x y))) (:long (inst fcmpx x y)))
(inst nop) ;; The SPARC V9 doesn't need an instruction between a
;; floating-point compare and a floating-point branch.
(unless (backend-featurep :sparc-v9)
(inst nop))
(inst fb (if not-p nope yep) target) (inst fb (if not-p nope yep) target)
(inst nop))) (inst nop)))
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/insts.lisp,v 1.21 1999/08/13 15:57:25 dtc Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/insts.lisp,v 1.22 1999/11/18 14:25:40 dtc Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -898,7 +898,8 @@ ...@@ -898,7 +898,8 @@
(reads src1) (reads src1)
(reads src2) (reads src2)
(writes :fsr)) (writes :fsr))
(:delay 1) ;; The Sparc V9 doesn't need a delay after a FP compare.
(:delay #-sparc-v9 1 #+sparc-v9 0)
(:emitter (emit-format-3-fpop segment #b10 0 #b110101 (:emitter (emit-format-3-fpop segment #b10 0 #b110101
(fp-reg-tn-encoding src1) ,opf (fp-reg-tn-encoding src2))))) (fp-reg-tn-encoding src1) ,opf (fp-reg-tn-encoding src2)))))
...@@ -949,7 +950,8 @@ ...@@ -949,7 +950,8 @@
(reads src1) (reads src1)
(reads src2) (reads src2)
(writes :fsr)) (writes :fsr))
(:delay 1) ;; The Sparc V9 doesn't need a delay after a FP compare.
(:delay #-sparc-v9 1 #+sparc-v9 0)
(:emitter (emit-format-3-fpop segment #b10 0 #b110101 (:emitter (emit-format-3-fpop segment #b10 0 #b110101
(fp-reg-tn-encoding src1) ,opf (fp-reg-tn-encoding src2))))) (fp-reg-tn-encoding src1) ,opf (fp-reg-tn-encoding src2)))))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment