Simplify EMIT-VOP further.
[sbcl.git] / src / compiler / hppa / pred.lisp
1 (in-package "SB!VM")
2
3 \f
4 ;;;; The Branch VOP.
5
6 ;;; The unconditional branch, emitted when we can't drop through to the desired
7 ;;; destination.  Dest is the continuation we transfer control to.
8 ;;;
9 (define-vop (branch)
10   (:info dest)
11   (:generator 5
12     (inst b dest :nullify t)))
13
14 \f
15 ;;;; Generic conditional VOPs
16
17 ;;; The generic conditional branch, emitted immediately after test
18 ;;; VOPs that only set flags.
19
20 (define-vop (branch-if)
21   (:info dest flags not-p)
22   (:ignore dest flags not-p)
23   (:generator 0
24      (error "BRANCH-IF not yet implemented")))
25
26 (defun convert-conditional-move-p (node dst-tn x-tn y-tn)
27   (declare (ignore node dst-tn x-tn y-tn))
28   nil)
29
30 \f
31 ;;;; Conditional VOPs:
32
33 (define-vop (if-eq)
34   (:args (x :scs (any-reg descriptor-reg zero null))
35          (y :scs (any-reg descriptor-reg zero null)))
36   (:conditional)
37   (:info target not-p)
38   (:policy :fast-safe)
39   (:translate eq)
40   (:generator 3
41     (inst bc := not-p x y target)))