Tweaks to get sb-simd 1.3 to compile
[sbcl/simd.git] / src / compiler / sparc / pred.lisp
blob0dc6a7cb926dcb5cb6c45b76f05c904dbc83717c
1 ;;;; the VM definition of predicate VOPs for the Sparc
3 ;;;; This software is part of the SBCL system. See the README file for
4 ;;;; more information.
5 ;;;;
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
12 (in-package "SB!VM")
14 ;;;; the Branch VOP.
16 ;;; The unconditional branch, emitted when we can't drop through to
17 ;;; the desired destination. Dest is the continuation we transfer
18 ;;; control to.
19 (define-vop (branch)
20 (:info dest)
21 (:generator 5
22 (inst b dest)
23 (inst nop)))
25 ;;;; conditional VOPs:
27 (define-vop (if-eq)
28 (:args (x :scs (any-reg descriptor-reg zero null))
29 (y :scs (any-reg descriptor-reg zero null)))
30 (:conditional)
31 (:info target not-p)
32 (:policy :fast-safe)
33 (:translate eq)
34 (:generator 3
35 (inst cmp x y)
36 (inst b (if not-p :ne :eq) target)
37 (inst nop)))