Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

PROCESSOR Clause

Parallel Directive Clause: Tells the compiler to create a vector version of the routine for the specified processor. When running on a processor that does not match "cpuid", a scalar version will be invoked multiple times based on vector length.

Syntax

PROCESSOR (cpuid)

cpuid

Is one of the following:

atom

Intel Atom® processors with Supplemental Streaming SIMD Extensions 3 (SSSE3)

atom_sse4_2

Intel Atom® processors with Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2)

atom_sse4_2_movbe

Intel Atom® processors with Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) with MOVBE instructions enabled

broadwell

This is a synonym for core_5th_gen_avx.

core_2_duo_sse4_1

Intel® 45nm Hi-k next generation Intel® Core™ microarchitecture processors with Intel® Streaming SIMD Extensions 4.1 (Intel® SSE4.1)

core_2_duo_ssse3

Intel® Core™2 Duo processors with Intel® Supplemental Streaming SIMD Extensions 3 (SSSE3)

core_2nd_gen_avx

2nd generation Intel® Core™ processor family with support for Intel® Advanced Vector Extensions (Intel® AVX)

core_3rd_gen_avx

3rd generation Intel® Core™ processor family with support for Intel® Advanced Vector Extensions (Intel® AVX) including the RDRND instruction

core_4th_gen_avx

4th generation Intel® Core™ processor family with support for Intel® Advanced Vector Extensions 2 (Intel® AVX2) including the RDRND instruction

core_4th_gen_avx_tsx

4th generation Intel® Core™ processor family with support for Intel® Advanced Vector Extensions 2 (Intel® AVX2) including the RDRND instruction, and support for Intel® Transactional Synchronization Extensions (Intel® TSX)

core_5th_gen_avx

5th generation Intel® Core™ processor family with support for Intel® Advanced Vector Extensions 2 (Intel® AVX2) including the RDSEED and Multi-Precision Add-Carry Instruction Extensions (ADX) instructions

core_5th_gen_avx_tsx

5th generation Intel® Core™ processor family with support for Intel® Advanced Vector Extensions 2 (Intel® AVX2) including the RDSEED and Multi-Precision Add-Carry Instruction Extensions (ADX) instructions, and support for Intel® Transactional Synchronization Extensions (Intel® TSX)

core_aes_pclmulqdq

Intel® Core™ processors with support for Advanced Encryption Standard (AES) instructions and carry-less multiplication instruction

core_i7_sse4_2

Intel® Core™ i7 processors with Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) instructions

generic

Other Intel processors for Intel® 64 architecture or compatible processors not provided by Intel Corporation

haswell

This is a synonym for core_4th_gen_avx.

skylake

Intel® microarchitecture code name Skylake. This keyword targets the Client CPU without support for Intel® AVX-512 instructions.

skylake_avx512

Intel® microarchitecture code name Skylake. This keyword targets the Server CPU with support for Intel® AVX-512 instructions.

The vector version of the routine that is created by the compiler is not affected by processor options specified on the command line.

Multiple PROCESSOR clauses cause a syntax error.

NOTE:

ifx only supports cpuid values for 64-bit instruction sets.