Skip to content

[X86] Remove CLDEMOTE from Arrowlake and later hybrid processors #144833

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
312 changes: 157 additions & 155 deletions clang/test/Preprocessor/predefined-arch-macros.c
Original file line number Diff line number Diff line change
Expand Up @@ -2556,209 +2556,211 @@

// RUN: %clang -march=sierraforest -m32 -E -dM %s -o - 2>&1 \
// RUN: --target=i386 \
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SRF_M32
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M32,CHECK_SRF_M32
// RUN: %clang -march=grandridge -m32 -E -dM %s -o - 2>&1 \
// RUN: --target=i386 \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M32
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M32,CHECK_SRF_M32
// RUN: %clang -march=arrowlake -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SRF_M32
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ARL_M32
// RUN: %clang -march=arrowlake-s -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M32,CHECK_ARLS_M32
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M32,CHECK_ARLS_M32
// RUN: %clang -march=lunarlake -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M32,CHECK_ARLS_M32
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M32,CHECK_ARLS_M32
// RUN: %clang -march=pantherlake -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M32,CHECK_ARLS_M32,CHECK_PTL_M32
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M32,CHECK_ARLS_M32,CHECK_PTL_M32
// RUN: %clang -march=clearwaterforest -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M32,CHECK_ARLS_M32,CHECK_PTL_M32,CHECK_CWF_M32
// CHECK_SRF_M32: #define __ADX__ 1
// CHECK_SRF_M32: #define __AES__ 1
// CHECK_SRF_M32: #define __AVX2__ 1
// CHECK_SRF_M32-NOT: AVX512
// CHECK_SRF_M32: #define __AVXIFMA__ 1
// CHECK_SRF_M32: #define __AVXNECONVERT__ 1
// CHECK_SRF_M32-NOT: #define __AVXVNNIINT16__ 1
// CHECK_ARL_M32: #define __ADX__ 1
// CHECK_ARL_M32: #define __AES__ 1
// CHECK_ARL_M32: #define __AVX2__ 1
// CHECK_ARL_M32-NOT: AVX512
// CHECK_ARL_M32: #define __AVXIFMA__ 1
// CHECK_ARL_M32: #define __AVXNECONVERT__ 1
// CHECK_ARL_M32-NOT: #define __AVXVNNIINT16__ 1
// CHECK_ARLS_M32: #define __AVXVNNIINT16__ 1
// CHECK_SRF_M32: #define __AVXVNNIINT8__ 1
// CHECK_SRF_M32: #define __AVXVNNI__ 1
// CHECK_SRF_M32: #define __AVX__ 1
// CHECK_SRF_M32: #define __BMI2__ 1
// CHECK_SRF_M32: #define __BMI__ 1
// CHECK_ARL_M32: #define __AVXVNNIINT8__ 1
// CHECK_ARL_M32: #define __AVXVNNI__ 1
// CHECK_ARL_M32: #define __AVX__ 1
// CHECK_ARL_M32: #define __BMI2__ 1
// CHECK_ARL_M32: #define __BMI__ 1
// CHECK_ARLS_M32-NOT: __CLDEMOTE__
// CHECK_SRF_M32: #define __CLDEMOTE__ 1
// CHECK_SRF_M32: #define __CLFLUSHOPT__ 1
// CHECK_SRF_M32: #define __CLWB__ 1
// CHECK_SRF_M32: #define __CMPCCXADD__ 1
// CHECK_SRF_M32: #define __ENQCMD__ 1
// CHECK_SRF_M32: #define __F16C__ 1
// CHECK_SRF_M32: #define __FMA__ 1
// CHECK_SRF_M32: #define __FSGSBASE__ 1
// CHECK_SRF_M32: #define __FXSR__ 1
// CHECK_SRF_M32: #define __GFNI__ 1
// CHECK_SRF_M32: #define __HRESET__ 1
// CHECK_SRF_M32: #define __INVPCID__ 1
// CHECK_SRF_M32: #define __KL__ 1
// CHECK_SRF_M32: #define __LZCNT__ 1
// CHECK_SRF_M32: #define __MMX__ 1
// CHECK_SRF_M32: #define __MOVBE__ 1
// CHECK_SRF_M32: #define __MOVDIR64B__ 1
// CHECK_SRF_M32: #define __MOVDIRI__ 1
// CHECK_SRF_M32: #define __PCLMUL__ 1
// CHECK_SRF_M32: #define __PCONFIG__ 1
// CHECK_SRF_M32: #define __PKU__ 1
// CHECK_SRF_M32: #define __POPCNT__ 1
// CHECK_SRF_M32-NOT: #define __PREFETCHI__ 1
// CHECK_ARL_M32: #define __CLFLUSHOPT__ 1
// CHECK_ARL_M32: #define __CLWB__ 1
// CHECK_ARL_M32: #define __CMPCCXADD__ 1
// CHECK_ARL_M32: #define __ENQCMD__ 1
// CHECK_ARL_M32: #define __F16C__ 1
// CHECK_ARL_M32: #define __FMA__ 1
// CHECK_ARL_M32: #define __FSGSBASE__ 1
// CHECK_ARL_M32: #define __FXSR__ 1
// CHECK_ARL_M32: #define __GFNI__ 1
// CHECK_ARL_M32: #define __HRESET__ 1
// CHECK_ARL_M32: #define __INVPCID__ 1
// CHECK_ARL_M32: #define __KL__ 1
// CHECK_ARL_M32: #define __LZCNT__ 1
// CHECK_ARL_M32: #define __MMX__ 1
// CHECK_ARL_M32: #define __MOVBE__ 1
// CHECK_ARL_M32: #define __MOVDIR64B__ 1
// CHECK_ARL_M32: #define __MOVDIRI__ 1
// CHECK_ARL_M32: #define __PCLMUL__ 1
// CHECK_ARL_M32: #define __PCONFIG__ 1
// CHECK_ARL_M32: #define __PKU__ 1
// CHECK_ARL_M32: #define __POPCNT__ 1
// CHECK_ARL_M32-NOT: #define __PREFETCHI__ 1
// CHECK_ARLS_M32-NOT: #define __PREFETCHI__ 1
// CHECK_PTL_M32: #define __PREFETCHI__ 1
// CHECK_SRF_M32: #define __PRFCHW__ 1
// CHECK_SRF_M32: #define __PTWRITE__ 1
// CHECK_SRF_M32-NOT: #define __RAOINT__ 1
// CHECK_SRF_M32: #define __RDPID__ 1
// CHECK_SRF_M32: #define __RDRND__ 1
// CHECK_SRF_M32: #define __RDSEED__ 1
// CHECK_SRF_M32: #define __SERIALIZE__ 1
// CHECK_SRF_M32: #define __SGX__ 1
// CHECK_SRF_M32-NOT: #define __SHA512__ 1
// CHECK_ARL_M32: #define __PRFCHW__ 1
// CHECK_ARL_M32: #define __PTWRITE__ 1
// CHECK_ARL_M32-NOT: #define __RAOINT__ 1
// CHECK_ARL_M32: #define __RDPID__ 1
// CHECK_ARL_M32: #define __RDRND__ 1
// CHECK_ARL_M32: #define __RDSEED__ 1
// CHECK_ARL_M32: #define __SERIALIZE__ 1
// CHECK_ARL_M32: #define __SGX__ 1
// CHECK_ARL_M32-NOT: #define __SHA512__ 1
// CHECK_ARLS_M32: #define __SHA512__ 1
// CHECK_SRF_M32: #define __SHA__ 1
// CHECK_SRF_M32: #define __SHSTK__ 1
// CHECK_SRF_M32-NOT: #define __SM3__ 1
// CHECK_ARL_M32: #define __SHA__ 1
// CHECK_ARL_M32: #define __SHSTK__ 1
// CHECK_ARL_M32-NOT: #define __SM3__ 1
// CHECK_ARLS_M32: #define __SM3__ 1
// CHECK_SRF_M32-NOT: #define __SM4__ 1
// CHECK_ARL_M32-NOT: #define __SM4__ 1
// CHECK_ARLS_M32: #define __SM4__ 1
// CHECK_SRF_M32: #define __SSE2__ 1
// CHECK_SRF_M32: #define __SSE3__ 1
// CHECK_SRF_M32: #define __SSE4_1__ 1
// CHECK_SRF_M32: #define __SSE4_2__ 1
// CHECK_SRF_M32: #define __SSE_MATH__ 1
// CHECK_SRF_M32: #define __SSE__ 1
// CHECK_SRF_M32: #define __SSSE3__ 1
// CHECK_SRF_M32: #define __UINTR__ 1
// CHECK_SRF_M32-NOT: #define __USERMSR__ 1
// CHECK_ARL_M32: #define __SSE2__ 1
// CHECK_ARL_M32: #define __SSE3__ 1
// CHECK_ARL_M32: #define __SSE4_1__ 1
// CHECK_ARL_M32: #define __SSE4_2__ 1
// CHECK_ARL_M32: #define __SSE_MATH__ 1
// CHECK_ARL_M32: #define __SSE__ 1
// CHECK_ARL_M32: #define __SSSE3__ 1
// CHECK_ARL_M32: #define __UINTR__ 1
// CHECK_ARL_M32-NOT: #define __USERMSR__ 1
// CHECK_ARLS_M32-NOT: #define __USERMSR__ 1
// CHECK_PTL_M32-NOT: #define __USERMSR__ 1
// CHECK_CWF_M32: #define __USERMSR__ 1
// CHECK_SRF_M32: #define __VAES__ 1
// CHECK_SRF_M32: #define __VPCLMULQDQ__ 1
// CHECK_SRF_M32: #define __WAITPKG__ 1
// CHECK_SRF_M32: #define __WIDEKL__ 1
// CHECK_SRF_M32: #define __XSAVEC__ 1
// CHECK_SRF_M32: #define __XSAVEOPT__ 1
// CHECK_SRF_M32: #define __XSAVES__ 1
// CHECK_SRF_M32: #define __XSAVE__ 1
// CHECK_SRF_M32: #define __corei7 1
// CHECK_SRF_M32: #define __corei7__ 1
// CHECK_SRF_M32: #define __i386 1
// CHECK_SRF_M32: #define __i386__ 1
// CHECK_SRF_M32: #define __tune_corei7__ 1
// CHECK_SRF_M32: #define i386 1
// CHECK_ARL_M32: #define __VAES__ 1
// CHECK_ARL_M32: #define __VPCLMULQDQ__ 1
// CHECK_ARL_M32: #define __WAITPKG__ 1
// CHECK_ARL_M32: #define __WIDEKL__ 1
// CHECK_ARL_M32: #define __XSAVEC__ 1
// CHECK_ARL_M32: #define __XSAVEOPT__ 1
// CHECK_ARL_M32: #define __XSAVES__ 1
// CHECK_ARL_M32: #define __XSAVE__ 1
// CHECK_ARL_M32: #define __corei7 1
// CHECK_ARL_M32: #define __corei7__ 1
// CHECK_ARL_M32: #define __i386 1
// CHECK_ARL_M32: #define __i386__ 1
// CHECK_ARL_M32: #define __tune_corei7__ 1
// CHECK_ARL_M32: #define i386 1

// RUN: %clang -march=sierraforest -m64 -E -dM %s -o - 2>&1 \
// RUN: --target=i386 \
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SRF_M64
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M64,CHECK_SRF_M64
// RUN: %clang -march=grandridge -m64 -E -dM %s -o - 2>&1 \
// RUN: --target=i386 \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M64
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M64,CHECK_SRF_M64
// RUN: %clang -march=arrowlake -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SRF_M64
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ARL_M64
// RUN: %clang -march=arrowlake-s -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M64,CHECK_ARLS_M64
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M64,CHECK_ARLS_M64
// RUN: %clang -march=lunarlake -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M64,CHECK_ARLS_M64
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M64,CHECK_ARLS_M64
// RUN: %clang -march=pantherlake -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M64,CHECK_ARLS_M64,CHECK_PTL_M64
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M64,CHECK_ARLS_M64,CHECK_PTL_M64
// RUN: %clang -march=clearwaterforest -m64 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_SRF_M64,CHECK_ARLS_M64,CHECK_PTL_M64,CHECK_CWF_M64
// CHECK_SRF_M64: #define __ADX__ 1
// CHECK_SRF_M64: #define __AES__ 1
// CHECK_SRF_M64: #define __AVX2__ 1
// CHECK_SRF_M64-NOT: AVX512
// CHECK_SRF_M64: #define __AVXIFMA__ 1
// CHECK_SRF_M64: #define __AVXNECONVERT__ 1
// CHECK_SRF_M64-NOT: #define __AVXVNNIINT16__ 1
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ARL_M64,CHECK_SRF_M64,CHECK_ARLS_M64,CHECK_PTL_M64,CHECK_CWF_M64
// CHECK_ARL_M64: #define __ADX__ 1
// CHECK_ARL_M64: #define __AES__ 1
// CHECK_ARL_M64: #define __AVX2__ 1
// CHECK_ARL_M64-NOT: AVX512
// CHECK_ARL_M64: #define __AVXIFMA__ 1
// CHECK_ARL_M64: #define __AVXNECONVERT__ 1
// CHECK_ARL_M64-NOT: #define __AVXVNNIINT16__ 1
// CHECK_ARLS_M64: #define __AVXVNNIINT16__ 1
// CHECK_SRF_M64: #define __AVXVNNIINT8__ 1
// CHECK_SRF_M64: #define __AVXVNNI__ 1
// CHECK_SRF_M64: #define __AVX__ 1
// CHECK_SRF_M64: #define __BMI2__ 1
// CHECK_SRF_M64: #define __BMI__ 1
// CHECK_ARL_M64: #define __AVXVNNIINT8__ 1
// CHECK_ARL_M64: #define __AVXVNNI__ 1
// CHECK_ARL_M64: #define __AVX__ 1
// CHECK_ARL_M64: #define __BMI2__ 1
// CHECK_ARL_M64: #define __BMI__ 1
// CHECK_ARLS_M64-NOT: __CLDEMOTE__
// CHECK_SRF_M64: #define __CLDEMOTE__ 1
// CHECK_SRF_M64: #define __CLFLUSHOPT__ 1
// CHECK_SRF_M64: #define __CLWB__ 1
// CHECK_SRF_M64: #define __CMPCCXADD__ 1
// CHECK_SRF_M64: #define __ENQCMD__ 1
// CHECK_SRF_M64: #define __F16C__ 1
// CHECK_SRF_M64: #define __FMA__ 1
// CHECK_SRF_M64: #define __FSGSBASE__ 1
// CHECK_SRF_M64: #define __FXSR__ 1
// CHECK_SRF_M64: #define __GFNI__ 1
// CHECK_SRF_M64: #define __HRESET__ 1
// CHECK_SRF_M64: #define __INVPCID__ 1
// CHECK_SRF_M64: #define __KL__ 1
// CHECK_SRF_M64: #define __LZCNT__ 1
// CHECK_SRF_M64: #define __MMX__ 1
// CHECK_SRF_M64: #define __MOVBE__ 1
// CHECK_SRF_M64: #define __MOVDIR64B__ 1
// CHECK_SRF_M64: #define __MOVDIRI__ 1
// CHECK_SRF_M64: #define __PCLMUL__ 1
// CHECK_SRF_M64: #define __PCONFIG__ 1
// CHECK_SRF_M64: #define __PKU__ 1
// CHECK_SRF_M64: #define __POPCNT__ 1
// CHECK_SRF_M64-NOT: #define __PREFETCHI__ 1
// CHECK_ARL_M64: #define __CLFLUSHOPT__ 1
// CHECK_ARL_M64: #define __CLWB__ 1
// CHECK_ARL_M64: #define __CMPCCXADD__ 1
// CHECK_ARL_M64: #define __ENQCMD__ 1
// CHECK_ARL_M64: #define __F16C__ 1
// CHECK_ARL_M64: #define __FMA__ 1
// CHECK_ARL_M64: #define __FSGSBASE__ 1
// CHECK_ARL_M64: #define __FXSR__ 1
// CHECK_ARL_M64: #define __GFNI__ 1
// CHECK_ARL_M64: #define __HRESET__ 1
// CHECK_ARL_M64: #define __INVPCID__ 1
// CHECK_ARL_M64: #define __KL__ 1
// CHECK_ARL_M64: #define __LZCNT__ 1
// CHECK_ARL_M64: #define __MMX__ 1
// CHECK_ARL_M64: #define __MOVBE__ 1
// CHECK_ARL_M64: #define __MOVDIR64B__ 1
// CHECK_ARL_M64: #define __MOVDIRI__ 1
// CHECK_ARL_M64: #define __PCLMUL__ 1
// CHECK_ARL_M64: #define __PCONFIG__ 1
// CHECK_ARL_M64: #define __PKU__ 1
// CHECK_ARL_M64: #define __POPCNT__ 1
// CHECK_ARL_M64-NOT: #define __PREFETCHI__ 1
// CHECK_ARLS_M64-NOT: #define __PREFETCHI__ 1
// CHECK_PTL_M64: #define __PREFETCHI__ 1
// CHECK_SRF_M64: #define __PRFCHW__ 1
// CHECK_SRF_M64: #define __PTWRITE__ 1
// CHECK_SRF_M64-NOT: #define __RAOINT__ 1
// CHECK_SRF_M64: #define __RDPID__ 1
// CHECK_SRF_M64: #define __RDRND__ 1
// CHECK_SRF_M64: #define __RDSEED__ 1
// CHECK_SRF_M64: #define __SERIALIZE__ 1
// CHECK_SRF_M64: #define __SGX__ 1
// CHECK_SRF_M64-NOT: #define __SHA512__ 1
// CHECK_ARL_M64: #define __PRFCHW__ 1
// CHECK_ARL_M64: #define __PTWRITE__ 1
// CHECK_ARL_M64-NOT: #define __RAOINT__ 1
// CHECK_ARL_M64: #define __RDPID__ 1
// CHECK_ARL_M64: #define __RDRND__ 1
// CHECK_ARL_M64: #define __RDSEED__ 1
// CHECK_ARL_M64: #define __SERIALIZE__ 1
// CHECK_ARL_M64: #define __SGX__ 1
// CHECK_ARL_M64-NOT: #define __SHA512__ 1
// CHECK_ARLS_M64: #define __SHA512__ 1
// CHECK_SRF_M64: #define __SHA__ 1
// CHECK_SRF_M64: #define __SHSTK__ 1
// CHECK_SRF_M64-NOT: #define __SM3__ 1
// CHECK_ARL_M64: #define __SHA__ 1
// CHECK_ARL_M64: #define __SHSTK__ 1
// CHECK_ARL_M64-NOT: #define __SM3__ 1
// CHECK_ARLS_M64: #define __SM3__ 1
// CHECK_SRF_M64-NOT: #define __SM4__ 1
// CHECK_ARL_M64-NOT: #define __SM4__ 1
// CHECK_ARLS_M64: #define __SM4__ 1
// CHECK_SRF_M64: #define __SSE2_MATH__ 1
// CHECK_SRF_M64: #define __SSE2__ 1
// CHECK_SRF_M64: #define __SSE3__ 1
// CHECK_SRF_M64: #define __SSE4_1__ 1
// CHECK_SRF_M64: #define __SSE4_2__ 1
// CHECK_SRF_M64: #define __SSE_MATH__ 1
// CHECK_SRF_M64: #define __SSE__ 1
// CHECK_SRF_M64: #define __SSSE3__ 1
// CHECK_SRF_M64: #define __UINTR__ 1
// CHECK_SRF_M64-NOT: #define __USERMSR__ 1
// CHECK_ARL_M64: #define __SSE2_MATH__ 1
// CHECK_ARL_M64: #define __SSE2__ 1
// CHECK_ARL_M64: #define __SSE3__ 1
// CHECK_ARL_M64: #define __SSE4_1__ 1
// CHECK_ARL_M64: #define __SSE4_2__ 1
// CHECK_ARL_M64: #define __SSE_MATH__ 1
// CHECK_ARL_M64: #define __SSE__ 1
// CHECK_ARL_M64: #define __SSSE3__ 1
// CHECK_ARL_M64: #define __UINTR__ 1
// CHECK_ARL_M64-NOT: #define __USERMSR__ 1
// CHECK_ARLS_M64-NOT: #define __USERMSR__ 1
// CHECK_PTL_M64-NOT: #define __USERMSR__ 1
// CHECK_CWF_M64: #define __USERMSR__ 1
// CHECK_SRF_M64: #define __VAES__ 1
// CHECK_SRF_M64: #define __VPCLMULQDQ__ 1
// CHECK_SRF_M64: #define __WAITPKG__ 1
// CHECK_SRF_M64: #define __WIDEKL__ 1
// CHECK_SRF_M64: #define __XSAVEC__ 1
// CHECK_SRF_M64: #define __XSAVEOPT__ 1
// CHECK_SRF_M64: #define __XSAVES__ 1
// CHECK_SRF_M64: #define __XSAVE__ 1
// CHECK_SRF_M64: #define __amd64 1
// CHECK_SRF_M64: #define __amd64__ 1
// CHECK_SRF_M64: #define __corei7 1
// CHECK_SRF_M64: #define __corei7__ 1
// CHECK_SRF_M64: #define __tune_corei7__ 1
// CHECK_SRF_M64: #define __x86_64 1
// CHECK_SRF_M64: #define __x86_64__ 1
// CHECK_ARL_M64: #define __VAES__ 1
// CHECK_ARL_M64: #define __VPCLMULQDQ__ 1
// CHECK_ARL_M64: #define __WAITPKG__ 1
// CHECK_ARL_M64: #define __WIDEKL__ 1
// CHECK_ARL_M64: #define __XSAVEC__ 1
// CHECK_ARL_M64: #define __XSAVEOPT__ 1
// CHECK_ARL_M64: #define __XSAVES__ 1
// CHECK_ARL_M64: #define __XSAVE__ 1
// CHECK_ARL_M64: #define __amd64 1
// CHECK_ARL_M64: #define __amd64__ 1
// CHECK_ARL_M64: #define __corei7 1
// CHECK_ARL_M64: #define __corei7__ 1
// CHECK_ARL_M64: #define __tune_corei7__ 1
// CHECK_ARL_M64: #define __x86_64 1
// CHECK_ARL_M64: #define __x86_64__ 1

// RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
// RUN: -target i386-unknown-linux \
Expand Down
Loading