Opcode/Instruction |
Op/En |
64/32-bit Mode |
CPUID Feature Flag |
Description |
VEX.128.66.0F38.W0 18 /r VBROADCASTSS xmm1, m32 |
RM |
V/V |
AVX |
Broadcast single-precision floating-point element in mem to four locations in xmm1. |
VEX.256.66.0F38.W0 18 /r VBROADCASTSS ymm1, m32 |
RM |
V/V |
AVX |
Broadcast single-precision floating-point element in mem to eight locations in ymm1. |
VEX.256.66.0F38.W0 19 /r VBROADCASTSD ymm1, m64 |
RM |
V/V |
AVX |
Broadcast double-precision floating-point element in mem to four locations in ymm1. |
VEX.256.66.0F38.W0 1A /r VBROADCASTF128 ymm1, m128 |
RM |
V/V |
AVX |
Broadcast 128 bits of floating-point data in mem to low and high 128-bits in ymm1. |
VEX.128.66.0F38.W0 18/r VBROADCASTSS xmm1, xmm2 |
RM |
V/V |
AVX2 |
Broadcast the low single-precision floatingpoint element in the source operand to four locations in xmm1. |
VEX.256.66.0F38.W0 18 /r VBROADCASTSS ymm1, xmm2 |
RM |
V/V |
AVX2 |
Broadcast low single-precision floating-point element in the source operand to eight locations in ymm1. |
VEX.256.66.0F38.W0 19 /r VBROADCASTSD ymm1, xmm2 |
RM |
V/V |
AVX2 |
Broadcast low double-precision floating-point element in the source operand to four locations in ymm1. |
Load floating point values from the source operand (second operand) and broadcast to all elements of the destination operand (first operand). VBROADCASTSD and VBROADCASTF128 are only supported as 256-bit wide versions. VBROADCASTSS is supported in both 128-bit and 256-bit wide versions. Memory and register source operand syntax support of 256-bit instructions depend on the processor’s enumeration of the following conditions with respect to CPUID.1:ECX.AVX[bit 28] and CPUID.(EAX=07H, ECX=0H):EBX.AVX2[bit 5]:
Note: In VEX-encoded versions, VEX.vvvv is reserved and must be 1111b otherwise instructions will #UD. An attempt to execute VBROADCASTSD or VBROADCASTF128 encoded with VEX.L= 0 will cause an #UD exception. Attempts to execute any VBROADCAST* instruction with VEX.W = 1 will cause #UD.
None.