11f959024ad353122a5ea04cceeb2c97ad6c5782
[sbcl.git] / src / compiler / mips / 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)
13     (inst nop)))
14
15 \f
16 ;;;; Conditional VOPs:
17
18 (define-vop (if-eq)
19   (:args (x :scs (any-reg descriptor-reg zero null))
20          (y :scs (any-reg descriptor-reg zero null)))
21   (:conditional)
22   (:info target not-p)
23   (:policy :fast-safe)
24   (:translate eq)
25   (:generator 3
26     (if not-p
27         (inst bne x y target)
28         (inst beq x y target))
29     (inst nop)))
30
31