Returns
Function:
(defun three-byte-opcode-modr/m-p$inline (proc-mode mandatory-prefix escape-byte opcode) (declare (type (integer 0 4) proc-mode) (type (unsigned-byte 8) mandatory-prefix) (type (unsigned-byte 8) escape-byte) (type (unsigned-byte 8) opcode)) (declare (xargs :guard (or (equal escape-byte 56) (equal escape-byte 58)))) (cond ((equal escape-byte 56) (if (equal proc-mode 0) (64-bit-mode-0f-38-three-byte-opcode-modr/m-p mandatory-prefix opcode) (32-bit-mode-0f-38-three-byte-opcode-modr/m-p mandatory-prefix opcode))) (t (if (equal proc-mode 0) (64-bit-mode-0f-3a-three-byte-opcode-modr/m-p mandatory-prefix opcode) (32-bit-mode-0f-3a-three-byte-opcode-modr/m-p mandatory-prefix opcode)))))
Theorem:
(defthm booleanp-of-three-byte-opcode-modr/m-p (implies (n08p opcode) (b* ((bool (three-byte-opcode-modr/m-p$inline proc-mode mandatory-prefix escape-byte opcode))) (booleanp bool))) :rule-classes :rewrite)