+(defun %test-fixnum-and-immediate (value target not-p immediate)
+ (let ((drop-through (gen-label)))
+ (generate-fixnum-test value)
+ (inst jmp :z (if not-p drop-through target))
+ (%test-immediate value target not-p immediate drop-through)))
+
+(defun %test-fixnum-immediate-and-headers (value target not-p immediate
+ headers)
+ (let ((drop-through (gen-label)))
+ (generate-fixnum-test value)
+ (inst jmp :z (if not-p drop-through target))
+ (%test-immediate-and-headers value target not-p immediate headers
+ drop-through)))
+
+(defun %test-immediate (value target not-p immediate
+ &optional (drop-through (gen-label)))