Print a list of one or more assembler clobbers, separated by commas.
(print-asm-clobber-list clobbers pstate) → new-pstate
Function:
(defun print-asm-clobber-list (clobbers pstate) (declare (xargs :guard (and (asm-clobber-listp clobbers) (pristatep pstate)))) (declare (xargs :guard (consp clobbers))) (let ((__function__ 'print-asm-clobber-list)) (declare (ignorable __function__)) (b* (((unless (mbt (consp clobbers))) (pristate-fix pstate)) (pstate (print-asm-clobber (car clobbers) pstate)) ((when (endp (cdr clobbers))) pstate) (pstate (print-astring ", " pstate))) (print-asm-clobber-list (cdr clobbers) pstate))))
Theorem:
(defthm pristatep-of-print-asm-clobber-list (b* ((new-pstate (print-asm-clobber-list clobbers pstate))) (pristatep new-pstate)) :rule-classes :rewrite)
Theorem:
(defthm pristate->gcc-of-print-asm-clobber-list (b* ((?new-pstate (print-asm-clobber-list clobbers pstate))) (equal (pristate->gcc new-pstate) (pristate->gcc pstate))))
Theorem:
(defthm print-asm-clobber-list-of-asm-clobber-list-fix-clobbers (equal (print-asm-clobber-list (asm-clobber-list-fix clobbers) pstate) (print-asm-clobber-list clobbers pstate)))
Theorem:
(defthm print-asm-clobber-list-asm-clobber-list-equiv-congruence-on-clobbers (implies (asm-clobber-list-equiv clobbers clobbers-equiv) (equal (print-asm-clobber-list clobbers pstate) (print-asm-clobber-list clobbers-equiv pstate))) :rule-classes :congruence)
Theorem:
(defthm print-asm-clobber-list-of-pristate-fix-pstate (equal (print-asm-clobber-list clobbers (pristate-fix pstate)) (print-asm-clobber-list clobbers pstate)))
Theorem:
(defthm print-asm-clobber-list-pristate-equiv-congruence-on-pstate (implies (pristate-equiv pstate pstate-equiv) (equal (print-asm-clobber-list clobbers pstate) (print-asm-clobber-list clobbers pstate-equiv))) :rule-classes :congruence)