From f44f451f6891d3ee29f2563c08a3cbb58899463c Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Fri, 16 Feb 1990 08:27:35 +0000 Subject: [PATCH] Added error0, error1, and error2 VOPs. Fixed branch to use a branch instuction instead of a jump instruction. Removed eql 'cause it is going to have to be written in lisp. --- compiler/mips/pred.lisp | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/compiler/mips/pred.lisp b/compiler/mips/pred.lisp index f668607ae..6dd78e178 100644 --- a/compiler/mips/pred.lisp +++ b/compiler/mips/pred.lisp @@ -7,6 +7,8 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/pred.lisp,v 1.2 1990/02/16 08:27:35 wlott Exp $ +;;; ;;; This file contains the VM definition of predicate VOPs for the MIPS. ;;; ;;; Written by Rob MacLachlan @@ -25,7 +27,7 @@ (define-vop (branch) (:info dest) (:generator 5 - (inst j dest) + (b dest) (nop))) @@ -55,14 +57,25 @@ (nop))) -#+nil -(define-vop (if-eql) - (:args (x :scs (any-reg descriptor-reg)) - (y :scs (any-reg descriptor-reg zero null))) - (:conditional) - (:info target not-p) - (:policy :fast-safe) - (:translate eql) - #+nil - (:generator 3 - )) + + +;;;; Error VOPs + +(define-vop (error0) + (:args (code :scs (any-reg descriptor-reg))) + (:generator 1000 + (error-call 0 code))) + +(define-vop (error1) + (:args (code :scs (any-reg descriptor-reg)) + (arg :scs (descriptor-reg))) + (:generator 1000 + (error-call 1 code arg))) + +(define-vop (error2) + (:args (code :scs (any-reg descriptor-reg)) + (arg1 :scs (descriptor-reg)) + (arg2 :scs (descriptor-reg))) + (:generator 1000 + (error-call 2 code arg1 arg2))) + -- GitLab