Write
(!xmmi-size nbytes index val x86) → x86
Function:
(defun !xmmi-size$inline (nbytes index val x86) (declare (xargs :stobjs (x86))) (declare (type (unsigned-byte 5) nbytes) (type (unsigned-byte 4) index) (type integer val)) (declare (xargs :guard (and (member nbytes '(4 8 16)) (unsigned-byte-p (ash nbytes 3) val)))) (case nbytes (4 (wx32 index val x86)) (8 (wx64 index val x86)) (16 (wx128 index val x86)) (otherwise x86)))
Theorem:
(defthm x86p-of-!xmmi-size (implies (x86p x86) (b* ((x86 (!xmmi-size$inline nbytes index val x86))) (x86p x86))) :rule-classes :rewrite)