Instruction
VUCOMXSS
Compares the low single-precision values of two operands like VCOMXSS but signals an invalid exception only for signaling NaNs.
- Extensions
- Forms
- 2 (2 EVEX)
- Data
- Intel XED v2026.08.23
VUCOMXSS compares the low singles of a register and a register or four bytes of memory and sets OF, SF, ZF, PF and CF so that every relation, less than included, is one condition code, as VCOMXSS’s page lists. It differs from VCOMXSS only in raising the invalid-operation exception for signaling NaNs alone, as VUCOMISS does, and is to VUCOMISS what VCOMXSS is to VCOMISS: opcode 2Eh in map 0F with W0, an F3 prefix in place of none, and EVEX only, in AVX10.2. The flag pattern of each outcome is tabulated on VCOMXSD’s page, and VUCOMXSD is the double-precision version.
Where compilers use it
An unordered result clears ZF here, so the zero flag alone tells “equal”
from everything else, NaN inputs included. That is what C’s == and
!= need, and the two operators are where Clang 23 uses VUCOMXSS: with
-mavx10.2 it compiles return a == b; on floats to VUCOMXSS and SETE,
where -march=x86-64-v4 gives a VCMPEQSS into a mask register read
back with KMOVW. Relations such as a < b keep VUCOMISS. The
intrinsic _mm_ucomieq_ss also gives VUCOMXSS, and _mm_comieq_ss
gives VCOMXSS.
Availability
GCC 14 has no AVX10.2 option, so these builds are Clang’s alone. No AVX10.2 processor appears in this site’s recorded cases.
Forms
Data flow
Where the elements of the sources go, element 0 on the right; results that depend on a control value are drawn for an example. How to read.
The flags come from single 0 of xmm1 and xmm2. RFLAGS: CF, PF, ZF.
Operation
What the forms do, in pseudocode that our tests run against results recorded on real processors. How to read.
x = ucomx(xmm1.f32[0], src2.f32[0]) # 0 >, 1 <, 2 =, 3 unordered
of = x != 0
sf = x in (2, 3)
zf = x == 2
pf = x == 3
cf = x in (1, 3)
af = 0
# only an SNaN raises IE
# {sae}: no exception flagsNot run on a processor: none of these processors has AVX10.2.
Operands
| Operand | Kind | Action |
|---|---|---|
VUCOMXSS xmm, xmm/m32, {sae} | ||
xmm | explicit | read |
xmm/m32 | explicit | read |
RFLAGS | implicit | write |
Flags
| OF | SF | ZF | AF | PF | CF |
|---|---|---|---|---|---|
| All forms | |||||
| 0 | 0 | M | 0 | M | M |
Exceptions
The exception class is XED's name for the set of exception conditions that a form follows. How to read.
- All forms
AVX512-E3NF
Attributes
What else XED records about the forms. How to read.
- All forms
- follows MXCSR
CPUID and processors
Each form belongs to an XED ISA set. A form can be used when the processor reports every CPUID bit of one of its ISA set's alternatives.
| ISA set | CPUID | Processors |
|---|---|---|
AVX512_COM_EF_SCALAR | AVX10.2 | Nova Lake, Diamond Rapids |
More AVX10.2 instructions
- VFNMSUB132BF16
- VFNMSUB213BF16
- VFNMSUB231BF16
- VFPCLASSBF16
- VGETEXPBF16
- VGETMANTBF16
- VMAXBF16
- VMINBF16
- VMINMAXBF16
- VMINMAXPD
- VMINMAXPH
- VMINMAXPS
- VMINMAXSD
- VMINMAXSH
- VMINMAXSS
- VMOVD
- VMOVW
- VMPSADBW
- VMULBF16
- VPDPBSSD
- VPDPBSSDS
- VPDPBSUD
- VPDPBSUDS
- VPDPBUUD
- VPDPBUUDS
- VPDPWSUD
- VPDPWSUDS
- VPDPWUSD
- VPDPWUSDS
- VPDPWUUD
- VPDPWUUDS
- VRCPBF16
- VREDUCEBF16
- VRNDSCALEBF16
- VRSQRTBF16
- VSCALEFBF16
- VSQRTBF16
- VSUBBF16
- VUCOMXSD
- VUCOMXSH
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, operands, flags, exception classes, attributes, ISA sets, CPUID bits and chip model. - Intel Advanced Vector Extensions 10.2 Architecture Specification, revision 7.0 (361050-007, April 2026)
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026)
The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.