x86 Instructions
957 instructions - showing 57 per page, page 10 of 10 - click any row to view encoding, pseudocode, and full documentation.
| Mnemonic | Syntax | Format | Extension | Summary |
|---|---|---|---|---|
| vrangeps | VRANGEPS zmm1 {k1}, zmm2, zmm3/m512, imm8 | EVEX | AVX-512DQ | Calculates range (min/max/abs) of float values. |
| vrangess | VRANGESS xmm1 {k1}, xmm2, xmm3/m32, imm8 | EVEX | AVX-512DQ | Calculates range (min/max/abs) of low float. |
| vrcp14ps | VRCP14PS zmm1 {k1}, zmm2/m512 | EVEX | AVX-512F | Approximate 1/x with 2^-14 error. |
| vreduceps | VREDUCEPS zmm1 {k1}, zmm2/m512, imm8 | EVEX | AVX-512DQ | Performs reduction on floats (e.g. range reduction for trig). |
| vreducess | VREDUCESS xmm1 {k1}, xmm2, xmm3/m32, imm8 | EVEX | AVX-512DQ | Performs reduction on low float. |
| vrndscalepd | VRNDSCALEPD zmm1 {k1}, zmm2/m512, imm8 | EVEX | AVX-512F | Rounds doubles to integer values using imm8 control. |
| vrsqrt14ps | VRSQRT14PS zmm1 {k1}, zmm2/m512 | EVEX | AVX-512F | Approximate 1/sqrt(x) with 2^-14 error. |
| vscalefpd | VSCALEFPD zmm1 {k1}, zmm2, zmm3/m512 | EVEX | AVX-512F | Scales doubles by exponents (x * 2^n). |
| vscatterdpd | VSCATTERDPD [base+zmm_idx*scale] {k1}, zmm1 | EVEX | AVX-512F | Stores doubles to non-contiguous memory locations. |
| vscatterdps | VSCATTERDPS [base+zmm_idx*scale] {k1}, zmm1 | EVEX | AVX-512F | Stores floats to non-contiguous memory locations. |
| vscatterpf0dpd | VSCATTERPF0DPD {k1}, [base+ymm_idx] | EVEX | AVX-512PF | Prefetches lines for scatter write (L1, Double). |
| vscatterpf0dps | VSCATTERPF0DPS {k1}, [base+zmm_idx] | EVEX | AVX-512PF | Prefetches cache lines for scatter write (L1). |
| vscatterpf0qpd | VSCATTERPF0QPD {k1}, [base+zmm_idx] | EVEX | AVX-512PF | Prefetches lines for scatter write (L1, Double, 64-bit idx). |
| vscatterpf0qps | VSCATTERPF0QPS {k1}, [base+zmm_idx] | EVEX | AVX-512PF | Prefetches lines for scatter write (L1, 64-bit idx). |
| vscatterqpd | VSCATTERQPD [base+zmm_idx*scale] {k1}, zmm1 | EVEX | AVX-512F | Stores doubles using 64-bit indices. |
| vscatterqps | VSCATTERQPS [base+zmm_idx*scale] {k1}, zmm1 | EVEX | AVX-512F | Stores floats using 64-bit indices. |
| vsha512msg1 | VSHA512MSG1 ymm1, xmm2 | EVEX | SHA512 | SHA512 intermediate calculation (AVX512). |
| vsha512msg2 | VSHA512MSG2 ymm1, ymm2 | EVEX | SHA512 | SHA512 final calculation (AVX512). |
| vsha512rnds2 | VSHA512RNDS2 ymm1, ymm2, xmm3 | EVEX | SHA512 | SHA512 2 rounds calculation (AVX512). |
| vshuff32x4 | VSHUFF32X4 zmm1 {k1}, zmm2, zmm3/m512, imm8 | EVEX | AVX-512F | Shuffles 128-bit blocks of single-precision floats. |
| vsm3msg1 | VSM3MSG1 xmm1, xmm2, xmm3 | VEX | SM3 | SM3 crypto message schedule part 1. |
| vsm3rnds2 | VSM3RNDS2 xmm1, xmm2, imm8 | VEX | SM3 | SM3 crypto 2 rounds. |
| vsm4key4 | VSM4KEY4 xmm1, xmm2, xmm3/m128 | VEX | SM4 | SM4 key generation. |
| vsm4rnds4 | VSM4RNDS4 xmm1, xmm2, xmm3/m128 | VEX | SM4 | Performs four rounds of SM4 encryption. |
| vsqrtph | VSQRTPH zmm1 {k1}, zmm2/m512 | EVEX | AVX-512-FP16 | Square root of half-precision values. |
| vsqrtsh | VSQRTSH xmm1 {k1}, xmm2/m16 | EVEX | AVX-512-FP16 | Square root of low FP16 value. |
| vsubph | VSUBPH zmm1 {k1}, zmm2, zmm3/m512 | EVEX | AVX-512-FP16 | Subtracts half-precision floating-point values. |
| vsubsh | VSUBSH xmm1 {k1}, xmm2, xmm3/m16 | EVEX | AVX-512-FP16 | Subtracts low FP16 value. |
| vtestpd | VTESTPD xmm1, xmm2/m128 | AVX | AVX | Sets ZF/CF based on sign bit comparisons of doubles. |
| vtestps | VTESTPS xmm1, xmm2/m128 | AVX | AVX | Sets ZF/CF based on sign bit comparisons of floats. |
| vzeroall | VZEROALL | VEX | AVX | Clears all YMM registers. |
| vzeroupper | VZEROUPPER | VEX | AVX | Clears bits 128-255 of all YMM registers (Avoids AVX-SSE transition penalty). |
| wait | WAIT | Legacy | Base | Wait for FPU (same as FWAIT). |
| wbinvd | WBINVD | System | System | Writes back modified data and invalidates caches (Privileged). |
| wbnoinvd | WBNOINVD | Legacy | WBNOINVD | Writes back modified lines but keeps them valid in cache. |
| wrfsbase | WRFSBASE r64 | Legacy | FSGSBASE | Writes a register to the FS base address. |
| wrgsbase | WRGSBASE r64 | Legacy | FSGSBASE | Writes a register to the GS base address. |
| wrmsr | WRMSR | System | System | Writes EDX:EAX to MSR specified by ECX (Privileged). |
| wrpkru | WRPKRU | Legacy | PKU | Writes EAX/EDX to PKRU register. |
| xabort | XABORT imm8 | Legacy | RTM (TSX) | Forces an RTM abort. |
| xadd | XADD r/m, r | Legacy | Base | Exchanges dest and src, then loads sum into dest. |
| xbegin | XBEGIN rel | Legacy | RTM (TSX) | Specifies start of Restricted Transactional Memory region. |
| xchg | XCHG r/m, r | Legacy | Base | Exchanges content of two operands. |
| xend | XEND | Legacy | RTM (TSX) | Specifies end of RTM region. |
| xgetbv | XGETBV | Legacy | XSAVE | Reads the state of XCR0 (feature mask) into EDX:EAX. |
| xlat | XLAT m8 | Legacy | Base | Replaces AL with byte from table at [EBX+AL]. |
| xor | XOR r/m, r | Legacy | Base | Performs bitwise XOR. |
| xorps | XORPS xmm, xmm/m128 | SSE | SSE | Bitwise XOR of 128 bits (Used to clear registers). |
| xrstor | XRSTOR m | Legacy | XSAVE | Restores specified state components from memory. |
| xrstors | XRSTORS m | Legacy | XSAVES | Restores supervisor state components from memory (Compact). |
| xsave | XSAVE m | Legacy | XSAVE | Saves specified state components (AVX, SSE, etc.) to memory. |
| xsavec | XSAVEC m | Legacy | XSAVEC | Saves state components using compaction. |
| xsaveopt | XSAVEOPT m | Legacy | XSAVEOPT | Saves state components (optimized for Modified state). |
| xsaves | XSAVES m | Legacy | XSAVES | Saves supervisor state components to memory (Compact). |
| xsetbv | XSETBV | Legacy | XSAVE | Writes EDX:EAX to XCR0 (Enables/disables AVX/SSE states). |
| xsusldtrk | XSUSLDTRK | Legacy | TSXLDTRK | Suspends tracking of load addresses in a TSX suspend-tracking region (resumed with XRESLDTRK). |
| xtest | XTEST | Legacy | TSX | Sets ZF if processor is in transactional region. |