Write
(wz256 reg val x86 &key (regtype '*zmm-access*)) → x86
Upper bits: For
Function:
(defun wz256$inline (reg val x86 regtype) (declare (xargs :stobjs (x86))) (declare (type (unsigned-byte 5) reg) (type (unsigned-byte 256) val)) (declare (xargs :guard (vector-access-type-p regtype))) (b* ((data (the (unsigned-byte 512) (zmmi reg x86))) (regtype (the (unsigned-byte 3) regtype)) (data (case regtype (3 (loghead 256 data)) (otherwise data))) (val (the (unsigned-byte 256) (n256 val)))) (!zmmi reg (part-install val data :low 0 :width 256) x86)))
Theorem:
(defthm x86p-wz256 (implies (x86p x86) (x86p (wz256 reg val x86 :regtype access))))