# _mm256_zeroupper

Zeroes the upper bits of the YMM registers. The corresponding Intel® AVX instruction is VZEROUPPER.

## Syntax

extern void _mm256_zeroupper(void);

## Arguments

None

## Description

Zeroes the upper 128 bits of all `YMM` registers. The lower 128 bits that correspond to the `XMM` registers are left unmodified.

This intrinsic is useful to clear the upper bits of the `YMM` registers when transitioning between Intel® Advanced Vector Extensions (Intel® AVX) instructions and legacy Intel® Supplemental SIMD Extensions (Intel® SSE) instructions. There is no transition penalty if an application clears the upper bits of all `YMM` registers (sets to ‘0’) via VZEROUPPER, the corresponding instruction for this intrinsic, before transitioning between Intel® Advanced Vector Extensions (Intel® AVX) instructions and legacy Intel® Supplemental SIMD Extensions (Intel® SSE) instructions.

## Returns

Result of the operation.

Parent topic: Intrinsics for Miscellaneous Operations