* There's a KLUDGE in build-order.lisp-expr wherein failures
when building this file are ignored.
* The failures are specifically an SC vs. arg-type mismatch for
the FAST-EQL/FIXNUM and FAST-EQL-C/FIXNUM VOPs.
* Fix the mismatch by altering the VOP definitions to match what
the MIPS backend uses (since it doesn't have the failure).
* And remove SPARC from the reader conditional on the KLUDGE.
;; x compilation, for now we blithely ignore them and press on to more
;; x pressing problems. Someday, though, it would be nice to figure out
;; x what the problem is and fix it.
;; x compilation, for now we blithely ignore them and press on to more
;; x pressing problems. Someday, though, it would be nice to figure out
;; x what the problem is and fix it.
- #!+(or ppc sparc) :ignore-failure-p)
+ #!+(or ppc) :ignore-failure-p)
("src/code/cross-modular" :not-target)
("src/compiler/target/subprim")
("src/code/cross-modular" :not-target)
("src/compiler/target/subprim")
;;;
(define-vop (fast-eql/fixnum fast-conditional)
;;;
(define-vop (fast-eql/fixnum fast-conditional)
- (:args (x :scs (any-reg descriptor-reg zero))
+ (:args (x :scs (any-reg zero))
(y :scs (any-reg zero)))
(:arg-types tagged-num tagged-num)
(:note "inline fixnum comparison")
(y :scs (any-reg zero)))
(:arg-types tagged-num tagged-num)
(:note "inline fixnum comparison")
(inst nop)))
;;;
(define-vop (generic-eql/fixnum fast-eql/fixnum)
(inst nop)))
;;;
(define-vop (generic-eql/fixnum fast-eql/fixnum)
+ (:args (x :scs (any-reg descriptor-reg))
+ (y :scs (any-reg)))
(:arg-types * tagged-num)
(:variant-cost 7))
(define-vop (fast-eql-c/fixnum fast-conditional/fixnum)
(:arg-types * tagged-num)
(:variant-cost 7))
(define-vop (fast-eql-c/fixnum fast-conditional/fixnum)
- (:args (x :scs (any-reg descriptor-reg zero)))
+ (:args (x :scs (any-reg zero)))
(:arg-types tagged-num (:constant (signed-byte 11)))
(:info target not-p y)
(:translate eql)
(:arg-types tagged-num (:constant (signed-byte 11)))
(:info target not-p y)
(:translate eql)
(inst nop)))
;;;
(define-vop (generic-eql-c/fixnum fast-eql-c/fixnum)
(inst nop)))
;;;
(define-vop (generic-eql-c/fixnum fast-eql-c/fixnum)
+ (:args (x :scs (any-reg descriptor-reg)))
(:arg-types * (:constant (signed-byte 11)))
(:variant-cost 6))
(:arg-types * (:constant (signed-byte 11)))
(:variant-cost 6))