(zmmi-size nbytes index x86) → val
Function:
(defun zmmi-size$inline (nbytes index x86) (declare (xargs :stobjs (x86))) (declare (type (unsigned-byte 7) nbytes) (type (unsigned-byte 5) index)) (declare (xargs :guard (member nbytes '(4 8 16 32 64)))) (case nbytes (4 (rz32 index x86)) (8 (rz64 index x86)) (16 (rz128 index x86)) (32 (rz256 index x86)) (64 (rz512 index x86)) (otherwise 0)))
Theorem:
(defthm natp-of-zmmi-size (b* ((val (zmmi-size$inline nbytes index x86))) (natp val)) :rule-classes :type-prescription)