2020-12-08 08:48:59 +08:00
|
|
|
// REQUIRES: amdgpu-registered-target
|
2011-09-28 18:17:41 +08:00
|
|
|
// Begin X86/GCC/Linux tests ----------------
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I386_M32
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_I386_M32: #define __LAHF_SAHF__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_I386_M32: #define __i386 1
|
|
|
|
// CHECK_I386_M32: #define __i386__ 1
|
|
|
|
// CHECK_I386_M32: #define __tune_i386__ 1
|
|
|
|
// CHECK_I386_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I386_M64
|
|
|
|
// CHECK_I386_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I486_M32
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_I486_M32: #define __i386 1
|
|
|
|
// CHECK_I486_M32: #define __i386__ 1
|
|
|
|
// CHECK_I486_M32: #define __i486 1
|
|
|
|
// CHECK_I486_M32: #define __i486__ 1
|
|
|
|
// CHECK_I486_M32: #define __tune_i486__ 1
|
|
|
|
// CHECK_I486_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I486_M64
|
|
|
|
// CHECK_I486_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I586_M32
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_I586_M32: #define __i386 1
|
|
|
|
// CHECK_I586_M32: #define __i386__ 1
|
|
|
|
// CHECK_I586_M32: #define __i586 1
|
|
|
|
// CHECK_I586_M32: #define __i586__ 1
|
|
|
|
// CHECK_I586_M32: #define __pentium 1
|
|
|
|
// CHECK_I586_M32: #define __pentium__ 1
|
|
|
|
// CHECK_I586_M32: #define __tune_i586__ 1
|
|
|
|
// CHECK_I586_M32: #define __tune_pentium__ 1
|
|
|
|
// CHECK_I586_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I586_M64
|
|
|
|
// CHECK_I586_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M32
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __i586 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __i586__ 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __pentium 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __pentium__ 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __tune_i586__ 1
|
|
|
|
// CHECK_PENTIUM_M32: #define __tune_pentium__ 1
|
|
|
|
// CHECK_PENTIUM_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M64
|
|
|
|
// CHECK_PENTIUM_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_MMX_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __i586 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __i586__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __pentium 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __pentium__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __pentium_mmx__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __tune_i586__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __tune_pentium__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define __tune_pentium_mmx__ 1
|
|
|
|
// CHECK_PENTIUM_MMX_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_MMX_M64
|
|
|
|
// CHECK_PENTIUM_MMX_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP_C6_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_WINCHIP_C6_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_WINCHIP_C6_M32: #define __i386 1
|
|
|
|
// CHECK_WINCHIP_C6_M32: #define __i386__ 1
|
|
|
|
// CHECK_WINCHIP_C6_M32: #define __i486 1
|
|
|
|
// CHECK_WINCHIP_C6_M32: #define __i486__ 1
|
|
|
|
// CHECK_WINCHIP_C6_M32: #define __tune_i486__ 1
|
|
|
|
// CHECK_WINCHIP_C6_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP_C6_M64
|
|
|
|
// CHECK_WINCHIP_C6_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP2_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_WINCHIP2_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_WINCHIP2_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_WINCHIP2_M32: #define __i386 1
|
|
|
|
// CHECK_WINCHIP2_M32: #define __i386__ 1
|
|
|
|
// CHECK_WINCHIP2_M32: #define __i486 1
|
|
|
|
// CHECK_WINCHIP2_M32: #define __i486__ 1
|
|
|
|
// CHECK_WINCHIP2_M32: #define __tune_i486__ 1
|
|
|
|
// CHECK_WINCHIP2_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP2_M64
|
|
|
|
// CHECK_WINCHIP2_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_C3_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_C3_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_C3_M32: #define __i386 1
|
|
|
|
// CHECK_C3_M32: #define __i386__ 1
|
|
|
|
// CHECK_C3_M32: #define __i486 1
|
|
|
|
// CHECK_C3_M32: #define __i486__ 1
|
|
|
|
// CHECK_C3_M32: #define __tune_i486__ 1
|
|
|
|
// CHECK_C3_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_M64
|
|
|
|
// CHECK_C3_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_2_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_C3_2_M32: #define __MMX__ 1
|
|
|
|
// CHECK_C3_2_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_C3_2_M32: #define __i386 1
|
|
|
|
// CHECK_C3_2_M32: #define __i386__ 1
|
|
|
|
// CHECK_C3_2_M32: #define __i686 1
|
|
|
|
// CHECK_C3_2_M32: #define __i686__ 1
|
|
|
|
// CHECK_C3_2_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_C3_2_M32: #define __pentiumpro__ 1
|
|
|
|
// CHECK_C3_2_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_C3_2_M32: #define __tune_pentium2__ 1
|
|
|
|
// CHECK_C3_2_M32: #define __tune_pentiumpro__ 1
|
|
|
|
// CHECK_C3_2_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_2_M64
|
|
|
|
// CHECK_C3_2_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I686_M32
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_I686_M32: #define __i386 1
|
|
|
|
// CHECK_I686_M32: #define __i386__ 1
|
|
|
|
// CHECK_I686_M32: #define __i686 1
|
|
|
|
// CHECK_I686_M32: #define __i686__ 1
|
|
|
|
// CHECK_I686_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_I686_M32: #define __pentiumpro__ 1
|
2017-10-27 07:06:19 +08:00
|
|
|
// CHECK_I686_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_I686_M32: #define __tune_pentiumpro__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_I686_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I686_M64
|
|
|
|
// CHECK_I686_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUMPRO_M32
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUMPRO_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __i686 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __i686__ 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define __tune_pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUMPRO_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUMPRO_M64
|
|
|
|
// CHECK_PENTIUMPRO_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM2_M32
|
2019-11-07 02:27:53 +08:00
|
|
|
// CHECK_PENTIUM2_M32: #define __FXSR__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM2_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM2_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __i686 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __i686__ 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __tune_pentium2__ 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define __tune_pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM2_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM2_M64
|
|
|
|
// CHECK_PENTIUM2_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM3_M32: #define __MMX__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM3_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __i686 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __i686__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __tune_pentium2__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __tune_pentium3__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define __tune_pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM3_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3_M64
|
|
|
|
// CHECK_PENTIUM3_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3M_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM3M_M32: #define __MMX__ 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM3M_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __i686 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __i686__ 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define __tune_pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM3M_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3M_M64
|
|
|
|
// CHECK_PENTIUM3M_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM_M_M32: #define __MMX__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM_M_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __i686 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __i686__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __pentiumpro 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __tune_i686__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define __tune_pentiumpro__ 1
|
|
|
|
// CHECK_PENTIUM_M_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M_M64
|
|
|
|
// CHECK_PENTIUM_M_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM4_M32: #define __MMX__ 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM4_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define __pentium4 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define __pentium4__ 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define __tune_pentium4__ 1
|
|
|
|
// CHECK_PENTIUM4_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4_M64
|
|
|
|
// CHECK_PENTIUM4_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4M_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PENTIUM4M_M32: #define __MMX__ 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PENTIUM4M_M32: #define __i386 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define __i386__ 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define __pentium4 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define __pentium4__ 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define __tune_pentium4__ 1
|
|
|
|
// CHECK_PENTIUM4M_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4M_M64
|
|
|
|
// CHECK_PENTIUM4M_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2019-03-13 13:14:50 +08:00
|
|
|
// RUN: %clang -march=yonah -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_YONAH_M32
|
|
|
|
// CHECK_YONAH_M32: #define __MMX__ 1
|
|
|
|
// CHECK_YONAH_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_YONAH_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_YONAH_M32: #define __SSE__ 1
|
|
|
|
// CHECK_YONAH_M32: #define __i386 1
|
|
|
|
// CHECK_YONAH_M32: #define __i386__ 1
|
|
|
|
// CHECK_YONAH_M32: #define __nocona 1
|
|
|
|
// CHECK_YONAH_M32: #define __nocona__ 1
|
|
|
|
// CHECK_YONAH_M32: #define __tune_nocona__ 1
|
|
|
|
// CHECK_YONAH_M32: #define i386 1
|
|
|
|
// RUN: not %clang -march=yonah -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_YONAH_M64
|
|
|
|
// CHECK_YONAH_M64: error: {{.*}}
|
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PRESCOTT_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_PRESCOTT_M32: #define __MMX__ 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_PRESCOTT_M32: #define __i386 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __i386__ 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __nocona 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __nocona__ 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define __tune_nocona__ 1
|
|
|
|
// CHECK_PRESCOTT_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PRESCOTT_M64
|
|
|
|
// CHECK_PRESCOTT_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_NOCONA_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_NOCONA_M32: #define __MMX__ 1
|
|
|
|
// CHECK_NOCONA_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_NOCONA_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_NOCONA_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_NOCONA_M32: #define __i386 1
|
|
|
|
// CHECK_NOCONA_M32: #define __i386__ 1
|
|
|
|
// CHECK_NOCONA_M32: #define __nocona 1
|
|
|
|
// CHECK_NOCONA_M32: #define __nocona__ 1
|
|
|
|
// CHECK_NOCONA_M32: #define __tune_nocona__ 1
|
|
|
|
// CHECK_NOCONA_M32: #define i386 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_NOCONA_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_NOCONA_M64: #define __MMX__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_NOCONA_M64: #define __amd64 1
|
|
|
|
// CHECK_NOCONA_M64: #define __amd64__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __nocona 1
|
|
|
|
// CHECK_NOCONA_M64: #define __nocona__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __tune_nocona__ 1
|
|
|
|
// CHECK_NOCONA_M64: #define __x86_64 1
|
|
|
|
// CHECK_NOCONA_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE2_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_CORE2_M32: #define __MMX__ 1
|
|
|
|
// CHECK_CORE2_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_CORE2_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_CORE2_M32: #define __SSE__ 1
|
|
|
|
// CHECK_CORE2_M32: #define __SSSE3__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_CORE2_M32: #define __core2 1
|
|
|
|
// CHECK_CORE2_M32: #define __core2__ 1
|
|
|
|
// CHECK_CORE2_M32: #define __i386 1
|
|
|
|
// CHECK_CORE2_M32: #define __i386__ 1
|
|
|
|
// CHECK_CORE2_M32: #define __tune_core2__ 1
|
|
|
|
// CHECK_CORE2_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE2_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_CORE2_M64: #define __MMX__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __SSE__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __SSSE3__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_CORE2_M64: #define __amd64 1
|
|
|
|
// CHECK_CORE2_M64: #define __amd64__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __core2 1
|
|
|
|
// CHECK_CORE2_M64: #define __core2__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __tune_core2__ 1
|
|
|
|
// CHECK_CORE2_M64: #define __x86_64 1
|
|
|
|
// CHECK_CORE2_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_M32: #define __MMX__ 1
|
2012-06-04 05:49:41 +08:00
|
|
|
// CHECK_COREI7_M32: #define __POPCNT__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __SSE__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __SSSE3__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_COREI7_M32: #define __corei7 1
|
|
|
|
// CHECK_COREI7_M32: #define __corei7__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __i386 1
|
|
|
|
// CHECK_COREI7_M32: #define __i386__ 1
|
|
|
|
// CHECK_COREI7_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_COREI7_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_M64: #define __MMX__ 1
|
2012-06-04 05:49:41 +08:00
|
|
|
// CHECK_COREI7_M64: #define __POPCNT__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSE__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __SSSE3__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_COREI7_M64: #define __amd64 1
|
|
|
|
// CHECK_COREI7_M64: #define __amd64__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __corei7 1
|
|
|
|
// CHECK_COREI7_M64: #define __corei7__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_COREI7_M64: #define __x86_64 1
|
|
|
|
// CHECK_COREI7_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_AVX_M32
|
2012-04-26 15:31:30 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __AVX__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __MMX__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __PCLMUL__ 1
|
2012-07-07 17:39:18 +08:00
|
|
|
// CHECK_COREI7_AVX_M32-NOT: __RDRND__
|
2012-06-04 05:49:41 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __POPCNT__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __SSE__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __XSAVE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_COREI7_AVX_M32: #define __corei7 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __corei7__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __i386 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __i386__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_COREI7_AVX_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_AVX_M64
|
2012-04-26 15:31:30 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __AVX__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __MMX__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __PCLMUL__ 1
|
2012-07-07 17:39:18 +08:00
|
|
|
// CHECK_COREI7_AVX_M64-NOT: __RDRND__
|
2012-06-04 05:49:41 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __POPCNT__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSE__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __XSAVE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_COREI7_AVX_M64: #define __amd64 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __amd64__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __corei7 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __corei7__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __x86_64 1
|
|
|
|
// CHECK_COREI7_AVX_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX_I_M32
|
2012-04-26 15:31:30 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __AVX__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __F16C__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __MMX__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __PCLMUL__ 1
|
2012-07-07 17:39:18 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __RDRND__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __SSE__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __XSAVE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_CORE_AVX_I_M32: #define __corei7 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __corei7__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __i386 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __i386__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX_I_M64
|
2012-04-26 15:31:30 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __AVX__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __F16C__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __MMX__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __PCLMUL__ 1
|
2012-07-07 17:39:18 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __RDRND__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSE__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __XSAVE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_CORE_AVX_I_M64: #define __amd64 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __amd64__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __corei7 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __corei7__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __x86_64 1
|
|
|
|
// CHECK_CORE_AVX_I_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-06-04 05:46:30 +08:00
|
|
|
// RUN: %clang -march=core-avx2 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX2_M32
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __AVX2__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __AVX__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __BMI__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __F16C__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __INVPCID__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __LAHF_SAHF__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __MOVBE__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __POPCNT__ 1
|
2012-07-07 17:39:18 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __RDRND__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __SSE__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __XSAVE__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M32: #define __corei7 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __corei7__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __i386 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __i386__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CORE_AVX2_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-06-04 05:46:30 +08:00
|
|
|
// RUN: %clang -march=core-avx2 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX2_M64
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __AVX2__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __AVX__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __BMI__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __F16C__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __INVPCID__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __LAHF_SAHF__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __MOVBE__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __POPCNT__ 1
|
2012-07-07 17:39:18 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __RDRND__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSE__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __XSAVE__ 1
|
2012-06-04 05:46:30 +08:00
|
|
|
// CHECK_CORE_AVX2_M64: #define __amd64 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __amd64__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __corei7 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __corei7__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __x86_64 1
|
|
|
|
// CHECK_CORE_AVX2_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2014-09-19 17:53:48 +08:00
|
|
|
// RUN: %clang -march=broadwell -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BROADWELL_M32
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __ADX__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __BMI__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __INVPCID__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __LAHF_SAHF__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __MOVBE__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __PRFCHW__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __XSAVE__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M32: #define __corei7 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __corei7__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __i386 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __i386__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_BROADWELL_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2014-09-19 17:53:48 +08:00
|
|
|
// RUN: %clang -march=broadwell -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BROADWELL_M64
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __ADX__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __BMI__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __INVPCID__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __LAHF_SAHF__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __MOVBE__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __PRFCHW__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __XSAVE__ 1
|
2014-09-19 17:53:48 +08:00
|
|
|
// CHECK_BROADWELL_M64: #define __amd64 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __corei7 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __corei7__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __x86_64 1
|
|
|
|
// CHECK_BROADWELL_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-02-21 15:41:23 +08:00
|
|
|
// RUN: %clang -march=skylake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKL_M32
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M32: #define __ADX__ 1
|
|
|
|
// CHECK_SKL_M32: #define __AES__ 1
|
|
|
|
// CHECK_SKL_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_SKL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_SKL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_SKL_M32: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_SKL_M32: #define __CLFLUSHOPT__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_SKL_M32: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_SKL_M32: #define __INVPCID__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_SKL_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_SKL_M32: #define __MOVBE__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_SKL_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_SKL_M32: #define __PRFCHW__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_SKL_M32: #define __RDSEED__ 1
|
2017-02-08 16:23:17 +08:00
|
|
|
// CHECK_SKL_M32: #define __SGX__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_SKL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_SKL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SKL_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SKL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_SKL_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_SKL_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_SKL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_SKL_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_SKL_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_SKL_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=skylake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKL_M64
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M64: #define __ADX__ 1
|
|
|
|
// CHECK_SKL_M64: #define __AES__ 1
|
|
|
|
// CHECK_SKL_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_SKL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_SKL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_SKL_M64: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_SKL_M64: #define __CLFLUSHOPT__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_SKL_M64: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_SKL_M64: #define __INVPCID__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_SKL_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_SKL_M64: #define __MOVBE__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_SKL_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_SKL_M64: #define __PRFCHW__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_SKL_M64: #define __RDSEED__ 1
|
2017-02-08 16:23:17 +08:00
|
|
|
// CHECK_SKL_M64: #define __SGX__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_SKL_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_SKL_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_SKL_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_SKL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_SKL_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_SKL_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_SKL_M64: #define __amd64 1
|
|
|
|
// CHECK_SKL_M64: #define __amd64__ 1
|
|
|
|
// CHECK_SKL_M64: #define __x86_64 1
|
|
|
|
// CHECK_SKL_M64: #define __x86_64__ 1
|
|
|
|
|
2013-08-20 15:09:39 +08:00
|
|
|
// RUN: %clang -march=knl -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_KNL_M32
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M32: #define __AES__ 1
|
|
|
|
// CHECK_KNL_M32: #define __AVX2__ 1
|
2013-08-21 13:29:10 +08:00
|
|
|
// CHECK_KNL_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_KNL_M32: #define __AVX512ER__ 1
|
2013-08-20 15:52:37 +08:00
|
|
|
// CHECK_KNL_M32: #define __AVX512F__ 1
|
2013-08-21 13:29:10 +08:00
|
|
|
// CHECK_KNL_M32: #define __AVX512PF__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_KNL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_KNL_M32: #define __BMI__ 1
|
|
|
|
// CHECK_KNL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_KNL_M32: #define __FMA__ 1
|
|
|
|
// CHECK_KNL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_KNL_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_KNL_M32: #define __MOVBE__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_KNL_M32: #define __POPCNT__ 1
|
2017-02-08 16:23:40 +08:00
|
|
|
// CHECK_KNL_M32: #define __PREFETCHWT1__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_KNL_M32: #define __PRFCHW__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_KNL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_KNL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_KNL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_KNL_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_KNL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_KNL_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_KNL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_KNL_M32: #define __XSAVE__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M32: #define __i386 1
|
|
|
|
// CHECK_KNL_M32: #define __i386__ 1
|
|
|
|
// CHECK_KNL_M32: #define __knl 1
|
|
|
|
// CHECK_KNL_M32: #define __knl__ 1
|
|
|
|
// CHECK_KNL_M32: #define __tune_knl__ 1
|
|
|
|
// CHECK_KNL_M32: #define i386 1
|
2014-07-30 21:53:40 +08:00
|
|
|
|
2013-08-20 15:09:39 +08:00
|
|
|
// RUN: %clang -march=knl -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_KNL_M64
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M64: #define __AES__ 1
|
|
|
|
// CHECK_KNL_M64: #define __AVX2__ 1
|
2013-08-21 13:29:10 +08:00
|
|
|
// CHECK_KNL_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_KNL_M64: #define __AVX512ER__ 1
|
2013-08-20 15:52:37 +08:00
|
|
|
// CHECK_KNL_M64: #define __AVX512F__ 1
|
2013-08-21 13:29:10 +08:00
|
|
|
// CHECK_KNL_M64: #define __AVX512PF__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_KNL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_KNL_M64: #define __BMI__ 1
|
|
|
|
// CHECK_KNL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_KNL_M64: #define __FMA__ 1
|
|
|
|
// CHECK_KNL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_KNL_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_KNL_M64: #define __MOVBE__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_KNL_M64: #define __POPCNT__ 1
|
2017-02-08 16:23:40 +08:00
|
|
|
// CHECK_KNL_M64: #define __PREFETCHWT1__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_KNL_M64: #define __PRFCHW__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_KNL_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_KNL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_KNL_M64: #define __XSAVE__ 1
|
2013-08-20 15:09:39 +08:00
|
|
|
// CHECK_KNL_M64: #define __amd64 1
|
|
|
|
// CHECK_KNL_M64: #define __amd64__ 1
|
|
|
|
// CHECK_KNL_M64: #define __knl 1
|
|
|
|
// CHECK_KNL_M64: #define __knl__ 1
|
|
|
|
// CHECK_KNL_M64: #define __tune_knl__ 1
|
|
|
|
// CHECK_KNL_M64: #define __x86_64 1
|
|
|
|
// CHECK_KNL_M64: #define __x86_64__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
|
|
|
|
// RUN: %clang -march=knm -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_KNM_M32
|
|
|
|
// CHECK_KNM_M32: #define __AES__ 1
|
|
|
|
// CHECK_KNM_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_KNM_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_KNM_M32: #define __AVX512ER__ 1
|
|
|
|
// CHECK_KNM_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_KNM_M32: #define __AVX512PF__ 1
|
2017-10-26 01:10:58 +08:00
|
|
|
// CHECK_KNM_M32: #define __AVX512VPOPCNTDQ__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
// CHECK_KNM_M32: #define __AVX__ 1
|
|
|
|
// CHECK_KNM_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_KNM_M32: #define __BMI__ 1
|
|
|
|
// CHECK_KNM_M32: #define __F16C__ 1
|
|
|
|
// CHECK_KNM_M32: #define __FMA__ 1
|
|
|
|
// CHECK_KNM_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_KNM_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_KNM_M32: #define __MOVBE__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
// CHECK_KNM_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_KNM_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_KNM_M32: #define __PREFETCHWT1__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_KNM_M32: #define __PRFCHW__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
// CHECK_KNM_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_KNM_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_KNM_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_KNM_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_KNM_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_KNM_M32: #define __SSE__ 1
|
|
|
|
// CHECK_KNM_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_KNM_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_KNM_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_KNM_M32: #define __i386 1
|
|
|
|
// CHECK_KNM_M32: #define __i386__ 1
|
|
|
|
// CHECK_KNM_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=knm -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_KNM_M64
|
|
|
|
// CHECK_KNM_M64: #define __AES__ 1
|
|
|
|
// CHECK_KNM_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_KNM_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_KNM_M64: #define __AVX512ER__ 1
|
|
|
|
// CHECK_KNM_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_KNM_M64: #define __AVX512PF__ 1
|
2017-10-26 01:10:58 +08:00
|
|
|
// CHECK_KNM_M64: #define __AVX512VPOPCNTDQ__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
// CHECK_KNM_M64: #define __AVX__ 1
|
|
|
|
// CHECK_KNM_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_KNM_M64: #define __BMI__ 1
|
|
|
|
// CHECK_KNM_M64: #define __F16C__ 1
|
|
|
|
// CHECK_KNM_M64: #define __FMA__ 1
|
|
|
|
// CHECK_KNM_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_KNM_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_KNM_M64: #define __MOVBE__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
// CHECK_KNM_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_KNM_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_KNM_M64: #define __PREFETCHWT1__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_KNM_M64: #define __PRFCHW__ 1
|
2017-10-14 02:14:24 +08:00
|
|
|
// CHECK_KNM_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSE__ 1
|
|
|
|
// CHECK_KNM_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_KNM_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_KNM_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_KNM_M64: #define __amd64 1
|
|
|
|
// CHECK_KNM_M64: #define __amd64__ 1
|
|
|
|
// CHECK_KNM_M64: #define __x86_64 1
|
|
|
|
// CHECK_KNM_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-02-21 15:41:23 +08:00
|
|
|
// RUN: %clang -march=skylake-avx512 -m32 -E -dM %s -o - 2>&1 \
|
2014-07-30 21:53:40 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKX_M32
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __AES__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_SKX_M32: #define __AVX__ 1
|
|
|
|
// CHECK_SKX_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_SKX_M32: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_SKX_M32: #define __CLFLUSHOPT__ 1
|
2017-02-08 15:36:58 +08:00
|
|
|
// CHECK_SKX_M32: #define __CLWB__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __F16C__ 1
|
|
|
|
// CHECK_SKX_M32: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_SKX_M32: #define __INVPCID__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_SKX_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_SKX_M32: #define __MOVBE__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __PCLMUL__ 1
|
2017-12-28 06:26:00 +08:00
|
|
|
// CHECK_SKX_M32: #define __PKU__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_SKX_M32: #define __PRFCHW__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __RDRND__ 1
|
2018-01-19 08:28:42 +08:00
|
|
|
// CHECK_SKX_M32: #define __RDSEED__ 1
|
2018-04-10 23:03:03 +08:00
|
|
|
// CHECK_SKX_M32-NOT: #define __SGX__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_SKX_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_SKX_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SKX_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SKX_M32: #define __SSE__ 1
|
|
|
|
// CHECK_SKX_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_SKX_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_SKX_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_SKX_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_SKX_M32: #define __XSAVE__ 1
|
2017-11-19 10:55:14 +08:00
|
|
|
// CHECK_SKX_M32: #define __corei7 1
|
|
|
|
// CHECK_SKX_M32: #define __corei7__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define __i386 1
|
|
|
|
// CHECK_SKX_M32: #define __i386__ 1
|
2017-11-19 10:55:14 +08:00
|
|
|
// CHECK_SKX_M32: #define __tune_corei7__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M32: #define i386 1
|
|
|
|
|
2016-02-21 15:41:23 +08:00
|
|
|
// RUN: %clang -march=skylake-avx512 -m64 -E -dM %s -o - 2>&1 \
|
2014-07-30 21:53:40 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKX_M64
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __AES__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_SKX_M64: #define __AVX__ 1
|
|
|
|
// CHECK_SKX_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_SKX_M64: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_SKX_M64: #define __CLFLUSHOPT__ 1
|
2017-02-08 15:36:58 +08:00
|
|
|
// CHECK_SKX_M64: #define __CLWB__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __F16C__ 1
|
|
|
|
// CHECK_SKX_M64: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_SKX_M64: #define __INVPCID__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_SKX_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_SKX_M64: #define __MOVBE__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __PCLMUL__ 1
|
2017-12-28 06:26:00 +08:00
|
|
|
// CHECK_SKX_M64: #define __PKU__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_SKX_M64: #define __PRFCHW__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __RDRND__ 1
|
2018-01-19 08:28:42 +08:00
|
|
|
// CHECK_SKX_M64: #define __RDSEED__ 1
|
2018-04-10 23:03:03 +08:00
|
|
|
// CHECK_SKX_M64-NOT: #define __SGX__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSE__ 1
|
|
|
|
// CHECK_SKX_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_SKX_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_SKX_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_SKX_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_SKX_M64: #define __XSAVE__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __amd64 1
|
|
|
|
// CHECK_SKX_M64: #define __amd64__ 1
|
2017-11-19 10:55:14 +08:00
|
|
|
// CHECK_SKX_M64: #define __corei7 1
|
|
|
|
// CHECK_SKX_M64: #define __corei7__ 1
|
|
|
|
// CHECK_SKX_M64: #define __tune_corei7__ 1
|
2014-07-30 21:53:40 +08:00
|
|
|
// CHECK_SKX_M64: #define __x86_64 1
|
|
|
|
// CHECK_SKX_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2018-11-28 02:05:14 +08:00
|
|
|
// RUN: %clang -march=cascadelake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CLX_M32
|
|
|
|
// CHECK_CLX_M32: #define __AES__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_CLX_M32: #define __AVX__ 1
|
|
|
|
// CHECK_CLX_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_CLX_M32: #define __BMI__ 1
|
|
|
|
// CHECK_CLX_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_CLX_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_CLX_M32: #define __F16C__ 1
|
|
|
|
// CHECK_CLX_M32: #define __FMA__ 1
|
|
|
|
// CHECK_CLX_M32: #define __INVPCID__ 1
|
|
|
|
// CHECK_CLX_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_CLX_M32: #define __MMX__ 1
|
|
|
|
// CHECK_CLX_M32: #define __MOVBE__ 1
|
|
|
|
// CHECK_CLX_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_CLX_M32: #define __PKU__ 1
|
|
|
|
// CHECK_CLX_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_CLX_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_CLX_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_CLX_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_CLX_M32-NOT: #define __SGX__ 1
|
|
|
|
// CHECK_CLX_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_CLX_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_CLX_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CLX_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CLX_M32: #define __SSE__ 1
|
|
|
|
// CHECK_CLX_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_CLX_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_CLX_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CLX_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_CLX_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_CLX_M32: #define __corei7 1
|
|
|
|
// CHECK_CLX_M32: #define __corei7__ 1
|
|
|
|
// CHECK_CLX_M32: #define __i386 1
|
|
|
|
// CHECK_CLX_M32: #define __i386__ 1
|
|
|
|
// CHECK_CLX_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CLX_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=cascadelake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CLX_M64
|
|
|
|
// CHECK_CLX_M64: #define __AES__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_CLX_M64: #define __AVX__ 1
|
|
|
|
// CHECK_CLX_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_CLX_M64: #define __BMI__ 1
|
|
|
|
// CHECK_CLX_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_CLX_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_CLX_M64: #define __F16C__ 1
|
|
|
|
// CHECK_CLX_M64: #define __FMA__ 1
|
|
|
|
// CHECK_CLX_M64: #define __INVPCID__ 1
|
|
|
|
// CHECK_CLX_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_CLX_M64: #define __MMX__ 1
|
|
|
|
// CHECK_CLX_M64: #define __MOVBE__ 1
|
|
|
|
// CHECK_CLX_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_CLX_M64: #define __PKU__ 1
|
|
|
|
// CHECK_CLX_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_CLX_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_CLX_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_CLX_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_CLX_M64-NOT: #define __SGX__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSE__ 1
|
|
|
|
// CHECK_CLX_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_CLX_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_CLX_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CLX_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_CLX_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_CLX_M64: #define __amd64 1
|
|
|
|
// CHECK_CLX_M64: #define __amd64__ 1
|
|
|
|
// CHECK_CLX_M64: #define __corei7 1
|
|
|
|
// CHECK_CLX_M64: #define __corei7__ 1
|
|
|
|
// CHECK_CLX_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CLX_M64: #define __x86_64 1
|
|
|
|
// CHECK_CLX_M64: #define __x86_64__ 1
|
|
|
|
|
2019-06-07 16:53:37 +08:00
|
|
|
// RUN: %clang -march=cooperlake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CPX_M32
|
|
|
|
// CHECK_CPX_M32: #define __AES__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512BF16__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_CPX_M32: #define __AVX__ 1
|
|
|
|
// CHECK_CPX_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_CPX_M32: #define __BMI__ 1
|
|
|
|
// CHECK_CPX_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_CPX_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_CPX_M32: #define __F16C__ 1
|
|
|
|
// CHECK_CPX_M32: #define __FMA__ 1
|
|
|
|
// CHECK_CPX_M32: #define __INVPCID__ 1
|
|
|
|
// CHECK_CPX_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_CPX_M32: #define __MMX__ 1
|
|
|
|
// CHECK_CPX_M32: #define __MOVBE__ 1
|
|
|
|
// CHECK_CPX_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_CPX_M32: #define __PKU__ 1
|
|
|
|
// CHECK_CPX_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_CPX_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_CPX_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_CPX_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_CPX_M32-NOT: #define __SGX__ 1
|
|
|
|
// CHECK_CPX_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_CPX_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_CPX_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CPX_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CPX_M32: #define __SSE__ 1
|
|
|
|
// CHECK_CPX_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_CPX_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_CPX_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CPX_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_CPX_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_CPX_M32: #define __corei7 1
|
|
|
|
// CHECK_CPX_M32: #define __corei7__ 1
|
|
|
|
// CHECK_CPX_M32: #define __i386 1
|
|
|
|
// CHECK_CPX_M32: #define __i386__ 1
|
|
|
|
// CHECK_CPX_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CPX_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=cooperlake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CPX_M64
|
|
|
|
// CHECK_CPX_M64: #define __AES__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512BF16__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_CPX_M64: #define __AVX__ 1
|
|
|
|
// CHECK_CPX_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_CPX_M64: #define __BMI__ 1
|
|
|
|
// CHECK_CPX_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_CPX_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_CPX_M64: #define __F16C__ 1
|
|
|
|
// CHECK_CPX_M64: #define __FMA__ 1
|
|
|
|
// CHECK_CPX_M64: #define __INVPCID__ 1
|
|
|
|
// CHECK_CPX_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_CPX_M64: #define __MMX__ 1
|
|
|
|
// CHECK_CPX_M64: #define __MOVBE__ 1
|
|
|
|
// CHECK_CPX_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_CPX_M64: #define __PKU__ 1
|
|
|
|
// CHECK_CPX_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_CPX_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_CPX_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_CPX_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_CPX_M64-NOT: #define __SGX__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSE__ 1
|
|
|
|
// CHECK_CPX_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_CPX_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_CPX_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CPX_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_CPX_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_CPX_M64: #define __amd64 1
|
|
|
|
// CHECK_CPX_M64: #define __amd64__ 1
|
|
|
|
// CHECK_CPX_M64: #define __corei7 1
|
|
|
|
// CHECK_CPX_M64: #define __corei7__ 1
|
|
|
|
// CHECK_CPX_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_CPX_M64: #define __x86_64 1
|
|
|
|
// CHECK_CPX_M64: #define __x86_64__ 1
|
|
|
|
|
2016-02-21 15:41:23 +08:00
|
|
|
// RUN: %clang -march=cannonlake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CNL_M32
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __AES__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX512F__ 1
|
2016-02-29 14:51:38 +08:00
|
|
|
// CHECK_CNL_M32: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX512VBMI__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_CNL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_CNL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_CNL_M32: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_CNL_M32: #define __CLFLUSHOPT__ 1
|
2018-02-21 08:16:50 +08:00
|
|
|
// CHECK_CNL_M32-NOT: #define __CLWB__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_CNL_M32: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_CNL_M32: #define __INVPCID__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_CNL_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_CNL_M32: #define __MOVBE__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __PCLMUL__ 1
|
2017-12-29 14:39:16 +08:00
|
|
|
// CHECK_CNL_M32: #define __PKU__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_CNL_M32: #define __PRFCHW__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __RDRND__ 1
|
2018-01-19 08:28:42 +08:00
|
|
|
// CHECK_CNL_M32: #define __RDSEED__ 1
|
2017-02-08 16:23:17 +08:00
|
|
|
// CHECK_CNL_M32: #define __SGX__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __SHA__ 1
|
|
|
|
// CHECK_CNL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_CNL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_CNL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CNL_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CNL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_CNL_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_CNL_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_CNL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CNL_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_CNL_M32: #define __XSAVE__ 1
|
2017-11-19 10:55:14 +08:00
|
|
|
// CHECK_CNL_M32: #define __corei7 1
|
|
|
|
// CHECK_CNL_M32: #define __corei7__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define __i386 1
|
|
|
|
// CHECK_CNL_M32: #define __i386__ 1
|
2017-11-19 10:55:14 +08:00
|
|
|
// CHECK_CNL_M32: #define __tune_corei7__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-02-21 15:41:23 +08:00
|
|
|
// RUN: %clang -march=cannonlake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CNL_M64
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __AES__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX512F__ 1
|
2016-02-29 14:51:38 +08:00
|
|
|
// CHECK_CNL_M64: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX512VBMI__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_CNL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_CNL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_CNL_M64: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_CNL_M64: #define __CLFLUSHOPT__ 1
|
2018-02-21 08:16:50 +08:00
|
|
|
// CHECK_CNL_M64-NOT: #define __CLWB__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_CNL_M64: #define __FMA__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_CNL_M64: #define __INVPCID__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_CNL_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_CNL_M64: #define __MOVBE__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __PCLMUL__ 1
|
2017-12-29 14:39:16 +08:00
|
|
|
// CHECK_CNL_M64: #define __PKU__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_CNL_M64: #define __PRFCHW__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __RDRND__ 1
|
2018-01-19 08:28:42 +08:00
|
|
|
// CHECK_CNL_M64: #define __RDSEED__ 1
|
2017-02-08 16:23:17 +08:00
|
|
|
// CHECK_CNL_M64: #define __SGX__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __SHA__ 1
|
|
|
|
// CHECK_CNL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_CNL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_CNL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_CNL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_CNL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_CNL_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_CNL_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_CNL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_CNL_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_CNL_M64: #define __XSAVE__ 1
|
2016-04-02 05:33:20 +08:00
|
|
|
// CHECK_CNL_M64: #define __amd64 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __amd64__ 1
|
2017-11-19 10:55:14 +08:00
|
|
|
// CHECK_CNL_M64: #define __corei7 1
|
|
|
|
// CHECK_CNL_M64: #define __corei7__ 1
|
|
|
|
// CHECK_CNL_M64: #define __tune_corei7__ 1
|
2016-02-21 15:41:23 +08:00
|
|
|
// CHECK_CNL_M64: #define __x86_64 1
|
|
|
|
// CHECK_CNL_M64: #define __x86_64__ 1
|
|
|
|
|
2018-04-11 02:58:26 +08:00
|
|
|
// RUN: %clang -march=icelake-client -m32 -E -dM %s -o - 2>&1 \
|
2017-11-19 10:55:15 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2021-04-13 09:24:34 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ICL_M32,CHECK_ICL_M32S
|
|
|
|
// RUN: %clang -march=rocketlake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ICL_M32,CHECK_RKL_M32S
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __AES__ 1
|
|
|
|
// CHECK_ICL_M32: #define __AVX2__ 1
|
2017-12-27 18:01:00 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX512BITALG__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_ICL_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_ICL_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_ICL_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_ICL_M32: #define __AVX512IFMA__ 1
|
[x86][icelake][vbmi2]
added vbmi2 feature recognition
added intrinsics support for vbmi2 instructions
_mm[128,256,512]_mask[z]_compress_epi[16,32]
_mm[128,256,512]_mask_compressstoreu_epi[16,32]
_mm[128,256,512]_mask[z]_expand_epi[16,32]
_mm[128,256,512]_mask[z]_expandloadu_epi[16,32]
_mm[128,256,512]_mask[z]_sh[l,r]di_epi[16,32,64]
_mm[128,256,512]_mask_sh[l,r]dv_epi[16,32,64]
matching a similar work on the backend (D40206)
Differential Revision: https://reviews.llvm.org/D41557
llvm-svn: 321487
2017-12-27 19:25:07 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX512VBMI2__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_ICL_M32: #define __AVX512VL__ 1
|
2017-12-27 18:37:51 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX512VNNI__ 1
|
2017-12-28 06:25:59 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX512VPOPCNTDQ__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_ICL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_ICL_M32: #define __BMI__ 1
|
|
|
|
// CHECK_ICL_M32: #define __CLFLUSHOPT__ 1
|
2021-04-12 10:36:08 +08:00
|
|
|
// CHECK_ICL_M32-NOT: #define __CLWB__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_ICL_M32: #define __FMA__ 1
|
2017-12-27 16:37:47 +08:00
|
|
|
// CHECK_ICL_M32: #define __GFNI__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_ICL_M32: #define __INVPCID__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_ICL_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ICL_M32: #define __MOVBE__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __PCLMUL__ 1
|
2017-12-29 14:39:16 +08:00
|
|
|
// CHECK_ICL_M32: #define __PKU__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_ICL_M32: #define __PRFCHW__ 1
|
2018-01-21 02:36:52 +08:00
|
|
|
// CHECK_ICL_M32: #define __RDPID__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __RDRND__ 1
|
2018-01-19 08:28:42 +08:00
|
|
|
// CHECK_ICL_M32: #define __RDSEED__ 1
|
2021-04-13 09:24:34 +08:00
|
|
|
// CHECK_ICL_M32S: #define __SGX__ 1
|
|
|
|
// CHECK_RKL_M32S-NOT: #define __SGX__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __SHA__ 1
|
|
|
|
// CHECK_ICL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ICL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ICL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ICL_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ICL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ICL_M32: #define __SSSE3__ 1
|
2017-12-27 16:16:54 +08:00
|
|
|
// CHECK_ICL_M32: #define __VAES__ 1
|
2017-12-27 17:00:31 +08:00
|
|
|
// CHECK_ICL_M32: #define __VPCLMULQDQ__ 1
|
2018-04-12 04:09:09 +08:00
|
|
|
// CHECK_ICL_M32-NOT: #define __WBNOINVD__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ICL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ICL_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_ICL_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_ICL_M32: #define __corei7 1
|
|
|
|
// CHECK_ICL_M32: #define __corei7__ 1
|
|
|
|
// CHECK_ICL_M32: #define __i386 1
|
|
|
|
// CHECK_ICL_M32: #define __i386__ 1
|
|
|
|
// CHECK_ICL_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_ICL_M32: #define i386 1
|
2018-04-11 02:58:26 +08:00
|
|
|
|
|
|
|
// RUN: %clang -march=icelake-client -m64 -E -dM %s -o - 2>&1 \
|
2017-11-19 10:55:15 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2021-04-13 09:24:34 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ICL_M64,CHECK_ICL_M64S
|
|
|
|
// RUN: %clang -march=rocketlake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefixes=CHECK_ICL_M64,CHECK_RKL_M64S
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __AES__ 1
|
|
|
|
// CHECK_ICL_M64: #define __AVX2__ 1
|
2017-12-27 18:01:00 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX512BITALG__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_ICL_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_ICL_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_ICL_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_ICL_M64: #define __AVX512IFMA__ 1
|
[x86][icelake][vbmi2]
added vbmi2 feature recognition
added intrinsics support for vbmi2 instructions
_mm[128,256,512]_mask[z]_compress_epi[16,32]
_mm[128,256,512]_mask_compressstoreu_epi[16,32]
_mm[128,256,512]_mask[z]_expand_epi[16,32]
_mm[128,256,512]_mask[z]_expandloadu_epi[16,32]
_mm[128,256,512]_mask[z]_sh[l,r]di_epi[16,32,64]
_mm[128,256,512]_mask_sh[l,r]dv_epi[16,32,64]
matching a similar work on the backend (D40206)
Differential Revision: https://reviews.llvm.org/D41557
llvm-svn: 321487
2017-12-27 19:25:07 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX512VBMI2__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_ICL_M64: #define __AVX512VL__ 1
|
2017-12-27 18:37:51 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX512VNNI__ 1
|
2017-12-28 06:25:59 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX512VPOPCNTDQ__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_ICL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_ICL_M64: #define __BMI__ 1
|
|
|
|
// CHECK_ICL_M64: #define __CLFLUSHOPT__ 1
|
2021-04-12 10:36:08 +08:00
|
|
|
// CHECK_ICL_M64-NOT: #define __CLWB__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_ICL_M64: #define __FMA__ 1
|
2017-12-27 16:37:47 +08:00
|
|
|
// CHECK_ICL_M64: #define __GFNI__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_ICL_M64: #define __INVPCID__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_ICL_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ICL_M64: #define __MOVBE__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __PCLMUL__ 1
|
2017-12-29 14:39:16 +08:00
|
|
|
// CHECK_ICL_M64: #define __PKU__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_ICL_M64: #define __PRFCHW__ 1
|
2018-01-21 02:36:52 +08:00
|
|
|
// CHECK_ICL_M64: #define __RDPID__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __RDRND__ 1
|
2018-01-19 08:28:42 +08:00
|
|
|
// CHECK_ICL_M64: #define __RDSEED__ 1
|
2021-04-13 09:24:34 +08:00
|
|
|
// CHECK_ICL_M64S: #define __SGX__ 1
|
|
|
|
// CHECK_RKL_M64S-NOT: #define __SGX__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __SHA__ 1
|
|
|
|
// CHECK_ICL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ICL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ICL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ICL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ICL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ICL_M64: #define __SSSE3__ 1
|
2017-12-27 16:16:54 +08:00
|
|
|
// CHECK_ICL_M64: #define __VAES__ 1
|
2017-12-27 17:00:31 +08:00
|
|
|
// CHECK_ICL_M64: #define __VPCLMULQDQ__ 1
|
2018-04-12 04:09:09 +08:00
|
|
|
// CHECK_ICL_M64-NOT: #define __WBNOINVD__ 1
|
2017-11-19 10:55:15 +08:00
|
|
|
// CHECK_ICL_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ICL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ICL_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_ICL_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_ICL_M64: #define __amd64 1
|
|
|
|
// CHECK_ICL_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ICL_M64: #define __corei7 1
|
|
|
|
// CHECK_ICL_M64: #define __corei7__ 1
|
|
|
|
// CHECK_ICL_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_ICL_M64: #define __x86_64 1
|
|
|
|
// CHECK_ICL_M64: #define __x86_64__ 1
|
|
|
|
|
2018-04-11 02:58:26 +08:00
|
|
|
// RUN: %clang -march=icelake-server -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ICX_M32
|
|
|
|
// CHECK_ICX_M32: #define __AES__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512BITALG__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512VBMI2__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX512VPOPCNTDQ__ 1
|
|
|
|
// CHECK_ICX_M32: #define __AVX__ 1
|
|
|
|
// CHECK_ICX_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_ICX_M32: #define __BMI__ 1
|
|
|
|
// CHECK_ICX_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_ICX_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_ICX_M32: #define __F16C__ 1
|
|
|
|
// CHECK_ICX_M32: #define __FMA__ 1
|
|
|
|
// CHECK_ICX_M32: #define __GFNI__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_ICX_M32: #define __INVPCID__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_ICX_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ICX_M32: #define __MOVBE__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M32: #define __PCLMUL__ 1
|
2018-05-08 14:49:41 +08:00
|
|
|
// CHECK_ICX_M32: #define __PCONFIG__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M32: #define __PKU__ 1
|
|
|
|
// CHECK_ICX_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_ICX_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ICX_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_ICX_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_ICX_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SGX__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SHA__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ICX_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_ICX_M32: #define __VAES__ 1
|
|
|
|
// CHECK_ICX_M32: #define __VPCLMULQDQ__ 1
|
2018-04-12 04:09:09 +08:00
|
|
|
// CHECK_ICX_M32: #define __WBNOINVD__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ICX_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ICX_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_ICX_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_ICX_M32: #define __corei7 1
|
|
|
|
// CHECK_ICX_M32: #define __corei7__ 1
|
|
|
|
// CHECK_ICX_M32: #define __i386 1
|
|
|
|
// CHECK_ICX_M32: #define __i386__ 1
|
|
|
|
// CHECK_ICX_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_ICX_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=icelake-server -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ICX_M64
|
|
|
|
// CHECK_ICX_M64: #define __AES__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512BITALG__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512VBMI2__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX512VPOPCNTDQ__ 1
|
|
|
|
// CHECK_ICX_M64: #define __AVX__ 1
|
|
|
|
// CHECK_ICX_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_ICX_M64: #define __BMI__ 1
|
|
|
|
// CHECK_ICX_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_ICX_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_ICX_M64: #define __F16C__ 1
|
|
|
|
// CHECK_ICX_M64: #define __FMA__ 1
|
|
|
|
// CHECK_ICX_M64: #define __GFNI__ 1
|
2018-05-25 14:34:42 +08:00
|
|
|
// CHECK_ICX_M64: #define __INVPCID__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_ICX_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ICX_M64: #define __MOVBE__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M64: #define __PCLMUL__ 1
|
2018-05-08 14:49:41 +08:00
|
|
|
// CHECK_ICX_M64: #define __PCONFIG__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M64: #define __PKU__ 1
|
|
|
|
// CHECK_ICX_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_ICX_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ICX_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_ICX_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_ICX_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SGX__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SHA__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ICX_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_ICX_M64: #define __VAES__ 1
|
|
|
|
// CHECK_ICX_M64: #define __VPCLMULQDQ__ 1
|
2018-04-12 04:09:09 +08:00
|
|
|
// CHECK_ICX_M64: #define __WBNOINVD__ 1
|
2018-04-11 02:58:26 +08:00
|
|
|
// CHECK_ICX_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ICX_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ICX_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_ICX_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_ICX_M64: #define __amd64 1
|
|
|
|
// CHECK_ICX_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ICX_M64: #define __corei7 1
|
|
|
|
// CHECK_ICX_M64: #define __corei7__ 1
|
|
|
|
// CHECK_ICX_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_ICX_M64: #define __x86_64 1
|
|
|
|
// CHECK_ICX_M64: #define __x86_64__ 1
|
|
|
|
|
2019-08-12 09:29:46 +08:00
|
|
|
// RUN: %clang -march=tigerlake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_TGL_M32
|
|
|
|
// CHECK_TGL_M32: #define __AES__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512BITALG__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512VBMI2__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512VP2INTERSECT__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX512VPOPCNTDQ__ 1
|
|
|
|
// CHECK_TGL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_TGL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_TGL_M32: #define __BMI__ 1
|
|
|
|
// CHECK_TGL_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_TGL_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_TGL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_TGL_M32: #define __FMA__ 1
|
|
|
|
// CHECK_TGL_M32: #define __GFNI__ 1
|
|
|
|
// CHECK_TGL_M32: #define __INVPCID__ 1
|
|
|
|
// CHECK_TGL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_TGL_M32: #define __MMX__ 1
|
|
|
|
// CHECK_TGL_M32: #define __MOVBE__ 1
|
|
|
|
// CHECK_TGL_M32: #define __MOVDIR64B__ 1
|
|
|
|
// CHECK_TGL_M32: #define __MOVDIRI__ 1
|
|
|
|
// CHECK_TGL_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_TGL_M32-NOT: #define __PCONFIG__ 1
|
|
|
|
// CHECK_TGL_M32: #define __PKU__ 1
|
|
|
|
// CHECK_TGL_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_TGL_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_TGL_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_TGL_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_TGL_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SGX__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SHA__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SHSTK__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_TGL_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_TGL_M32: #define __VAES__ 1
|
|
|
|
// CHECK_TGL_M32: #define __VPCLMULQDQ__ 1
|
|
|
|
// CHECK_TGL_M32-NOT: #define __WBNOINVD__ 1
|
|
|
|
// CHECK_TGL_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_TGL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_TGL_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_TGL_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_TGL_M32: #define __corei7 1
|
|
|
|
// CHECK_TGL_M32: #define __corei7__ 1
|
|
|
|
// CHECK_TGL_M32: #define __i386 1
|
|
|
|
// CHECK_TGL_M32: #define __i386__ 1
|
|
|
|
// CHECK_TGL_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_TGL_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=tigerlake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_TGL_M64
|
|
|
|
// CHECK_TGL_M64: #define __AES__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512BITALG__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512VBMI2__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512VP2INTERSECT__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX512VPOPCNTDQ__ 1
|
|
|
|
// CHECK_TGL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_TGL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_TGL_M64: #define __BMI__ 1
|
|
|
|
// CHECK_TGL_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_TGL_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_TGL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_TGL_M64: #define __FMA__ 1
|
|
|
|
// CHECK_TGL_M64: #define __GFNI__ 1
|
|
|
|
// CHECK_TGL_M64: #define __INVPCID__ 1
|
|
|
|
// CHECK_TGL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_TGL_M64: #define __MMX__ 1
|
|
|
|
// CHECK_TGL_M64: #define __MOVBE__ 1
|
|
|
|
// CHECK_TGL_M64: #define __MOVDIR64B__ 1
|
|
|
|
// CHECK_TGL_M64: #define __MOVDIRI__ 1
|
|
|
|
// CHECK_TGL_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_TGL_M64-NOT: #define __PCONFIG__ 1
|
|
|
|
// CHECK_TGL_M64: #define __PKU__ 1
|
|
|
|
// CHECK_TGL_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_TGL_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_TGL_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_TGL_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_TGL_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SGX__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SHA__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SHSTK__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_TGL_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_TGL_M64: #define __VAES__ 1
|
|
|
|
// CHECK_TGL_M64: #define __VPCLMULQDQ__ 1
|
|
|
|
// CHECK_TGL_M64-NOT: #define __WBNOINVD__ 1
|
|
|
|
// CHECK_TGL_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_TGL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_TGL_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_TGL_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_TGL_M64: #define __amd64 1
|
|
|
|
// CHECK_TGL_M64: #define __amd64__ 1
|
|
|
|
// CHECK_TGL_M64: #define __corei7 1
|
|
|
|
// CHECK_TGL_M64: #define __corei7__ 1
|
|
|
|
// CHECK_TGL_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_TGL_M64: #define __x86_64 1
|
|
|
|
// CHECK_TGL_M64: #define __x86_64__ 1
|
|
|
|
|
[X86] Support -march=sapphirerapids
Support -march=sapphirerapids for x86.
Compare with Icelake Server, it includes 14 more new features. They are
amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote,
enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D86503
2020-08-25 12:27:02 +08:00
|
|
|
// RUN: %clang -march=sapphirerapids -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPR_M32
|
|
|
|
// CHECK_SPR_M32: #define __AES__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AMXBF16__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AMXINT8__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AMXTILE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512BF16__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512BITALG__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512BW__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512CD__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512F__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512VBMI2__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512VL__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_SPR_M32: #define __AVX512VPOPCNTDQ__ 1
|
2020-10-30 12:58:05 +08:00
|
|
|
// CHECK_SPR_M32: #define __AVXVNNI__ 1
|
[X86] Support -march=sapphirerapids
Support -march=sapphirerapids for x86.
Compare with Icelake Server, it includes 14 more new features. They are
amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote,
enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D86503
2020-08-25 12:27:02 +08:00
|
|
|
// CHECK_SPR_M32: #define __AVX__ 1
|
|
|
|
// CHECK_SPR_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_SPR_M32: #define __BMI__ 1
|
|
|
|
// CHECK_SPR_M32: #define __CLDEMOTE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_SPR_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_SPR_M32: #define __ENQCMD__ 1
|
|
|
|
// CHECK_SPR_M32: #define __F16C__ 1
|
|
|
|
// CHECK_SPR_M32: #define __FMA__ 1
|
|
|
|
// CHECK_SPR_M32: #define __GFNI__ 1
|
|
|
|
// CHECK_SPR_M32: #define __INVPCID__ 1
|
|
|
|
// CHECK_SPR_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_SPR_M32: #define __MMX__ 1
|
|
|
|
// CHECK_SPR_M32: #define __MOVBE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_SPR_M32: #define __PCONFIG__ 1
|
|
|
|
// CHECK_SPR_M32: #define __PKU__ 1
|
|
|
|
// CHECK_SPR_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_SPR_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_SPR_M32: #define __PTWRITE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_SPR_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_SPR_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SERIALIZE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SGX__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SHA__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SHSTK__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SSE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_SPR_M32: #define __TSXLDTRK__ 1
|
2020-10-22 16:46:07 +08:00
|
|
|
// CHECK_SPR_M32: #define __UINTR__ 1
|
[X86] Support -march=sapphirerapids
Support -march=sapphirerapids for x86.
Compare with Icelake Server, it includes 14 more new features. They are
amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote,
enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D86503
2020-08-25 12:27:02 +08:00
|
|
|
// CHECK_SPR_M32: #define __VAES__ 1
|
|
|
|
// CHECK_SPR_M32: #define __VPCLMULQDQ__ 1
|
|
|
|
// CHECK_SPR_M32: #define __WAITPKG__ 1
|
|
|
|
// CHECK_SPR_M32: #define __WBNOINVD__ 1
|
|
|
|
// CHECK_SPR_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_SPR_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_SPR_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_SPR_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_SPR_M32: #define __corei7 1
|
|
|
|
// CHECK_SPR_M32: #define __corei7__ 1
|
|
|
|
// CHECK_SPR_M32: #define __i386 1
|
|
|
|
// CHECK_SPR_M32: #define __i386__ 1
|
|
|
|
// CHECK_SPR_M32: #define __tune_corei7__ 1
|
|
|
|
// CHECK_SPR_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=sapphirerapids -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPR_M64
|
|
|
|
// CHECK_SPR_M64: #define __AES__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AMXBF16__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AMXINT8__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AMXTILE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512BF16__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512BITALG__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512BW__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512CD__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512DQ__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512F__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512IFMA__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512VBMI2__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512VBMI__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512VL__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512VNNI__ 1
|
|
|
|
// CHECK_SPR_M64: #define __AVX512VPOPCNTDQ__ 1
|
2020-10-30 12:58:05 +08:00
|
|
|
// CHECK_SPR_M64: #define __AVXVNNI__ 1
|
[X86] Support -march=sapphirerapids
Support -march=sapphirerapids for x86.
Compare with Icelake Server, it includes 14 more new features. They are
amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote,
enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D86503
2020-08-25 12:27:02 +08:00
|
|
|
// CHECK_SPR_M64: #define __AVX__ 1
|
|
|
|
// CHECK_SPR_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_SPR_M64: #define __BMI__ 1
|
|
|
|
// CHECK_SPR_M64: #define __CLDEMOTE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_SPR_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_SPR_M64: #define __ENQCMD__ 1
|
|
|
|
// CHECK_SPR_M64: #define __F16C__ 1
|
|
|
|
// CHECK_SPR_M64: #define __FMA__ 1
|
|
|
|
// CHECK_SPR_M64: #define __GFNI__ 1
|
|
|
|
// CHECK_SPR_M64: #define __INVPCID__ 1
|
|
|
|
// CHECK_SPR_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_SPR_M64: #define __MMX__ 1
|
|
|
|
// CHECK_SPR_M64: #define __MOVBE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_SPR_M64: #define __PCONFIG__ 1
|
|
|
|
// CHECK_SPR_M64: #define __PKU__ 1
|
|
|
|
// CHECK_SPR_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_SPR_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_SPR_M64: #define __PTWRITE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_SPR_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_SPR_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SERIALIZE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SGX__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SHA__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SHSTK__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SSE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_SPR_M64: #define __TSXLDTRK__ 1
|
2020-10-22 16:46:07 +08:00
|
|
|
// CHECK_SPR_M64: #define __UINTR__ 1
|
[X86] Support -march=sapphirerapids
Support -march=sapphirerapids for x86.
Compare with Icelake Server, it includes 14 more new features. They are
amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote,
enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D86503
2020-08-25 12:27:02 +08:00
|
|
|
// CHECK_SPR_M64: #define __VAES__ 1
|
|
|
|
// CHECK_SPR_M64: #define __VPCLMULQDQ__ 1
|
|
|
|
// CHECK_SPR_M64: #define __WAITPKG__ 1
|
|
|
|
// CHECK_SPR_M64: #define __WBNOINVD__ 1
|
|
|
|
// CHECK_SPR_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_SPR_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_SPR_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_SPR_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_SPR_M64: #define __amd64 1
|
|
|
|
// CHECK_SPR_M64: #define __amd64__ 1
|
|
|
|
// CHECK_SPR_M64: #define __corei7 1
|
|
|
|
// CHECK_SPR_M64: #define __corei7__ 1
|
|
|
|
// CHECK_SPR_M64: #define __tune_corei7__ 1
|
|
|
|
// CHECK_SPR_M64: #define __x86_64 1
|
|
|
|
// CHECK_SPR_M64: #define __x86_64__ 1
|
|
|
|
|
2020-10-25 00:00:33 +08:00
|
|
|
// RUN: %clang -march=alderlake -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ADL_M32
|
|
|
|
// CHECK_ADL_M32: #define __ADX__ 1
|
|
|
|
// CHECK_ADL_M32: #define __AES__ 1
|
|
|
|
// CHECK_ADL_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_ADL_M32-NOT: AVX512
|
2020-10-30 12:58:05 +08:00
|
|
|
// CHECK_ADL_M32: #define __AVXVNNI__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __AVX__ 1
|
|
|
|
// CHECK_ADL_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_ADL_M32: #define __BMI__ 1
|
|
|
|
// CHECK_ADL_M32: #define __CLDEMOTE__ 1
|
|
|
|
// CHECK_ADL_M32: #define __CLFLUSHOPT__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __CLWB__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __F16C__ 1
|
|
|
|
// CHECK_ADL_M32: #define __FMA__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_ADL_M32: #define __FXSR__ 1
|
|
|
|
// CHECK_ADL_M32: #define __GFNI__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __HRESET__ 1
|
|
|
|
// CHECK_ADL_M32: #define __INVPCID__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __KL__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_ADL_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ADL_M32: #define __MOVBE__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __MOVDIR64B__ 1
|
|
|
|
// CHECK_ADL_M32: #define __MOVDIRI__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __PCLMUL__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __PCONFIG__ 1
|
|
|
|
// CHECK_ADL_M32: #define __PKU__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_ADL_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ADL_M32: #define __PTWRITE__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __RDPID__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_ADL_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SERIALIZE__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SGX__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __SHA__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SHSTK__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SSE4_2__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __SSE_MATH__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ADL_M32: #define __SSSE3__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __VAES__ 1
|
|
|
|
// CHECK_ADL_M32: #define __VPCLMULQDQ__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __WAITPKG__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __WIDEKL__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ADL_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ADL_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_ADL_M32: #define __XSAVE__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M32: #define __corei7 1
|
|
|
|
// CHECK_ADL_M32: #define __corei7__ 1
|
|
|
|
// CHECK_ADL_M32: #define __i386 1
|
|
|
|
// CHECK_ADL_M32: #define __i386__ 1
|
|
|
|
// CHECK_ADL_M32: #define __tune_corei7__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=alderlake -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ADL_M64
|
|
|
|
// CHECK_ADL_M64: #define __ADX__ 1
|
|
|
|
// CHECK_ADL_M64: #define __AES__ 1
|
|
|
|
// CHECK_ADL_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_ADL_M64-NOT: AVX512
|
2020-10-30 12:58:05 +08:00
|
|
|
// CHECK_ADL_M64: #define __AVXVNNI__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __AVX__ 1
|
|
|
|
// CHECK_ADL_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_ADL_M64: #define __BMI__ 1
|
|
|
|
// CHECK_ADL_M64: #define __CLDEMOTE__ 1
|
|
|
|
// CHECK_ADL_M64: #define __CLFLUSHOPT__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __CLWB__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __F16C__ 1
|
|
|
|
// CHECK_ADL_M64: #define __FMA__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_ADL_M64: #define __FXSR__ 1
|
|
|
|
// CHECK_ADL_M64: #define __GFNI__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __HRESET__ 1
|
|
|
|
// CHECK_ADL_M64: #define __INVPCID__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __KL__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_ADL_M64: #define __MMX__ 1
|
|
|
|
// CHECK_ADL_M64: #define __MOVBE__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __MOVDIR64B__ 1
|
|
|
|
// CHECK_ADL_M64: #define __MOVDIRI__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __PCLMUL__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __PCONFIG__ 1
|
|
|
|
// CHECK_ADL_M64: #define __PKU__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_ADL_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ADL_M64: #define __PTWRITE__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __RDPID__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_ADL_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SERIALIZE__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SGX__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __SHA__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SHSTK__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ADL_M64: #define __SSSE3__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __VAES__ 1
|
|
|
|
// CHECK_ADL_M64: #define __VPCLMULQDQ__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __WAITPKG__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __WIDEKL__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ADL_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ADL_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_ADL_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_ADL_M64: #define __amd64 1
|
|
|
|
// CHECK_ADL_M64: #define __amd64__ 1
|
[X86] Refine "Support -march=alderlake"
Refine "Support -march=alderlake"
Compare with tremont, it includes 25 more new features. They are
adx, aes, avx, avx2, avxvnni, bmi, bmi2, cldemote, f16c, fma, hreset, invpcid,
kl, lzcnt, movdir64b, movdiri, pclmulqdq, pconfig, pku, serialize, shstk, vaes,
vpclmulqdq, waitpkg, widekl.
Reviewed By: pengfei
Differential Revision: https://reviews.llvm.org/D97832
2021-03-03 16:17:37 +08:00
|
|
|
// CHECK_ADL_M64: #define __corei7 1
|
|
|
|
// CHECK_ADL_M64: #define __corei7__ 1
|
|
|
|
// CHECK_ADL_M64: #define __tune_corei7__ 1
|
2020-10-25 00:00:33 +08:00
|
|
|
// CHECK_ADL_M64: #define __x86_64 1
|
|
|
|
// CHECK_ADL_M64: #define __x86_64__ 1
|
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATOM_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATOM_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ATOM_M32: #define __MOVBE__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATOM_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ATOM_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ATOM_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ATOM_M32: #define __SSSE3__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATOM_M32: #define __atom 1
|
|
|
|
// CHECK_ATOM_M32: #define __atom__ 1
|
|
|
|
// CHECK_ATOM_M32: #define __i386 1
|
|
|
|
// CHECK_ATOM_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATOM_M32: #define __tune_atom__ 1
|
|
|
|
// CHECK_ATOM_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATOM_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATOM_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ATOM_M64: #define __MOVBE__ 1
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATOM_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __SSSE3__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_ATOM_M64: #define __amd64 1
|
|
|
|
// CHECK_ATOM_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __atom 1
|
|
|
|
// CHECK_ATOM_M64: #define __atom__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __tune_atom__ 1
|
|
|
|
// CHECK_ATOM_M64: #define __x86_64 1
|
|
|
|
// CHECK_ATOM_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-06-29 21:41:04 +08:00
|
|
|
// RUN: %clang -march=goldmont -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_GLM_M32
|
|
|
|
// CHECK_GLM_M32: #define __AES__ 1
|
|
|
|
// CHECK_GLM_M32: #define __CLFLUSHOPT__ 1
|
2017-09-25 21:49:32 +08:00
|
|
|
// CHECK_GLM_M32: #define __FSGSBASE__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M32: #define __FXSR__ 1
|
|
|
|
// CHECK_GLM_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_GLM_M32: #define __MOVBE__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_GLM_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_GLM_M32: #define __PRFCHW__ 1
|
2017-07-01 02:14:04 +08:00
|
|
|
// CHECK_GLM_M32: #define __RDRND__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SHA__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSE__ 1
|
|
|
|
// CHECK_GLM_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_GLM_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_GLM_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_GLM_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_GLM_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_GLM_M32: #define __goldmont 1
|
|
|
|
// CHECK_GLM_M32: #define __goldmont__ 1
|
|
|
|
// CHECK_GLM_M32: #define __i386 1
|
|
|
|
// CHECK_GLM_M32: #define __i386__ 1
|
|
|
|
// CHECK_GLM_M32: #define __tune_goldmont__ 1
|
|
|
|
// CHECK_GLM_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-06-29 21:41:04 +08:00
|
|
|
// RUN: %clang -march=goldmont -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_GLM_M64
|
|
|
|
// CHECK_GLM_M64: #define __AES__ 1
|
|
|
|
// CHECK_GLM_M64: #define __CLFLUSHOPT__ 1
|
2017-09-25 21:49:32 +08:00
|
|
|
// CHECK_GLM_M64: #define __FSGSBASE__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M64: #define __FXSR__ 1
|
|
|
|
// CHECK_GLM_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_GLM_M64: #define __MOVBE__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_GLM_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_GLM_M64: #define __PRFCHW__ 1
|
2017-07-01 02:14:04 +08:00
|
|
|
// CHECK_GLM_M64: #define __RDRND__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M64: #define __RDSEED__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_GLM_M64: #define __SHA__ 1
|
2017-06-29 21:41:04 +08:00
|
|
|
// CHECK_GLM_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_GLM_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_GLM_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_GLM_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_GLM_M64: #define __SSE__ 1
|
|
|
|
// CHECK_GLM_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_GLM_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_GLM_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_GLM_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_GLM_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_GLM_M64: #define __goldmont 1
|
|
|
|
// CHECK_GLM_M64: #define __goldmont__ 1
|
|
|
|
// CHECK_GLM_M64: #define __tune_goldmont__ 1
|
|
|
|
// CHECK_GLM_M64: #define __x86_64 1
|
|
|
|
// CHECK_GLM_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2018-04-16 16:10:10 +08:00
|
|
|
// RUN: %clang -march=goldmont-plus -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_GLMP_M32
|
|
|
|
// CHECK_GLMP_M32: #define __AES__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __FXSR__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_GLMP_M32: #define __MOVBE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_GLMP_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __PRFCHW__ 1
|
2018-05-10 15:28:54 +08:00
|
|
|
// CHECK_GLMP_M32: #define __PTWRITE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_GLMP_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SGX__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SHA__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSE__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __goldmont_plus 1
|
|
|
|
// CHECK_GLMP_M32: #define __goldmont_plus__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __i386 1
|
|
|
|
// CHECK_GLMP_M32: #define __i386__ 1
|
|
|
|
// CHECK_GLMP_M32: #define __tune_goldmont_plus__ 1
|
|
|
|
// CHECK_GLMP_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=goldmont-plus -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_GLMP_M64
|
|
|
|
// CHECK_GLMP_M64: #define __AES__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __FXSR__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_GLMP_M64: #define __MOVBE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_GLMP_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __PRFCHW__ 1
|
2018-05-10 15:28:54 +08:00
|
|
|
// CHECK_GLMP_M64: #define __PTWRITE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_GLMP_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SGX__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SHA__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SSE__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __goldmont_plus 1
|
|
|
|
// CHECK_GLMP_M64: #define __goldmont_plus__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __tune_goldmont_plus__ 1
|
|
|
|
// CHECK_GLMP_M64: #define __x86_64 1
|
|
|
|
// CHECK_GLMP_M64: #define __x86_64__ 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=tremont -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_TRM_M32
|
|
|
|
// CHECK_TRM_M32: #define __AES__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M32-NOT: #define __CLDEMOTE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M32: #define __CLFLUSHOPT__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M32: #define __CLWB__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M32: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_TRM_M32: #define __FXSR__ 1
|
|
|
|
// CHECK_TRM_M32: #define __GFNI__ 1
|
|
|
|
// CHECK_TRM_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_TRM_M32: #define __MOVBE__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M32-NOT: #define __MOVDIR64B__ 1
|
|
|
|
// CHECK_TRM_M32-NOT: #define __MOVDIRI__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_TRM_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_TRM_M32: #define __PRFCHW__ 1
|
2018-05-10 15:28:54 +08:00
|
|
|
// CHECK_TRM_M32: #define __PTWRITE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_TRM_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_TRM_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SGX__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SHA__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSE__ 1
|
|
|
|
// CHECK_TRM_M32: #define __SSSE3__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M32-NOT: #define __WAITPKG__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_TRM_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_TRM_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_TRM_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_TRM_M32: #define __i386 1
|
|
|
|
// CHECK_TRM_M32: #define __i386__ 1
|
|
|
|
// CHECK_TRM_M32: #define __tremont 1
|
|
|
|
// CHECK_TRM_M32: #define __tremont__ 1
|
|
|
|
// CHECK_TRM_M32: #define __tune_tremont__ 1
|
|
|
|
// CHECK_TRM_M32: #define i386 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=tremont -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_TRM_M64
|
|
|
|
// CHECK_TRM_M64: #define __AES__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M64-NOT: #define __CLDEMOTE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M64: #define __CLFLUSHOPT__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M64: #define __CLWB__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M64: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_TRM_M64: #define __FXSR__ 1
|
|
|
|
// CHECK_TRM_M64: #define __GFNI__ 1
|
|
|
|
// CHECK_TRM_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_TRM_M64: #define __MOVBE__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M64-NOT: #define __MOVDIR64B__ 1
|
|
|
|
// CHECK_TRM_M64-NOT: #define __MOVDIRI__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_TRM_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_TRM_M64: #define __PRFCHW__ 1
|
2018-05-10 15:28:54 +08:00
|
|
|
// CHECK_TRM_M64: #define __PTWRITE__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_TRM_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_TRM_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SGX__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SHA__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SSE__ 1
|
|
|
|
// CHECK_TRM_M64: #define __SSSE3__ 1
|
2020-06-03 13:21:12 +08:00
|
|
|
// CHECK_TRM_M64-NOT: #define __WAITPKG__ 1
|
2018-04-16 16:10:10 +08:00
|
|
|
// CHECK_TRM_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_TRM_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_TRM_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_TRM_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_TRM_M64: #define __tremont 1
|
|
|
|
// CHECK_TRM_M64: #define __tremont__ 1
|
|
|
|
// CHECK_TRM_M64: #define __tune_tremont__ 1
|
|
|
|
// CHECK_TRM_M64: #define __x86_64 1
|
|
|
|
// CHECK_TRM_M64: #define __x86_64__ 1
|
|
|
|
|
2013-08-30 22:05:34 +08:00
|
|
|
// RUN: %clang -march=slm -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SLM_M32
|
2017-12-22 13:09:38 +08:00
|
|
|
// CHECK_SLM_M32: #define __FXSR__ 1
|
2013-08-30 22:05:34 +08:00
|
|
|
// CHECK_SLM_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_SLM_M32: #define __MOVBE__ 1
|
2017-12-22 13:09:38 +08:00
|
|
|
// CHECK_SLM_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_SLM_M32: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_SLM_M32: #define __PRFCHW__ 1
|
2018-01-27 03:34:45 +08:00
|
|
|
// CHECK_SLM_M32: #define __RDRND__ 1
|
2013-08-30 22:05:34 +08:00
|
|
|
// CHECK_SLM_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_SLM_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_SLM_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SLM_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SLM_M32: #define __SSE__ 1
|
|
|
|
// CHECK_SLM_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_SLM_M32: #define __i386 1
|
|
|
|
// CHECK_SLM_M32: #define __i386__ 1
|
|
|
|
// CHECK_SLM_M32: #define __slm 1
|
|
|
|
// CHECK_SLM_M32: #define __slm__ 1
|
|
|
|
// CHECK_SLM_M32: #define __tune_slm__ 1
|
|
|
|
// CHECK_SLM_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2013-08-30 22:05:34 +08:00
|
|
|
// RUN: %clang -march=slm -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SLM_M64
|
2017-12-22 13:09:38 +08:00
|
|
|
// CHECK_SLM_M64: #define __FXSR__ 1
|
2013-08-30 22:05:34 +08:00
|
|
|
// CHECK_SLM_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_SLM_M64: #define __MOVBE__ 1
|
2017-12-22 13:09:38 +08:00
|
|
|
// CHECK_SLM_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_SLM_M64: #define __POPCNT__ 1
|
2017-12-22 12:51:00 +08:00
|
|
|
// CHECK_SLM_M64: #define __PRFCHW__ 1
|
2018-01-27 03:34:45 +08:00
|
|
|
// CHECK_SLM_M64: #define __RDRND__ 1
|
2013-08-30 22:05:34 +08:00
|
|
|
// CHECK_SLM_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSE__ 1
|
|
|
|
// CHECK_SLM_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_SLM_M64: #define __amd64 1
|
|
|
|
// CHECK_SLM_M64: #define __amd64__ 1
|
|
|
|
// CHECK_SLM_M64: #define __slm 1
|
|
|
|
// CHECK_SLM_M64: #define __slm__ 1
|
|
|
|
// CHECK_SLM_M64: #define __tune_slm__ 1
|
|
|
|
// CHECK_SLM_M64: #define __x86_64 1
|
|
|
|
// CHECK_SLM_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-04-05 23:04:26 +08:00
|
|
|
// RUN: %clang -march=lakemont -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2017-11-01 10:18:49 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_LAKEMONT_M32
|
|
|
|
// CHECK_LAKEMONT_M32: #define __i386 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define __i386__ 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define __i586 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define __i586__ 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define __pentium 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define __pentium__ 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define __tune_lakemont__ 1
|
|
|
|
// CHECK_LAKEMONT_M32: #define i386 1
|
2016-04-05 23:04:26 +08:00
|
|
|
// RUN: not %clang -march=lakemont -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2017-11-01 10:18:49 +08:00
|
|
|
// RUN: | FileCheck %s -check-prefix=CHECK_LAKEMONT_M64
|
|
|
|
// CHECK_LAKEMONT_M64: error:
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GEODE_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_GEODE_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_GEODE_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_GEODE_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_GEODE_M32: #define __geode 1
|
|
|
|
// CHECK_GEODE_M32: #define __geode__ 1
|
|
|
|
// CHECK_GEODE_M32: #define __i386 1
|
|
|
|
// CHECK_GEODE_M32: #define __i386__ 1
|
|
|
|
// CHECK_GEODE_M32: #define __tune_geode__ 1
|
|
|
|
// CHECK_GEODE_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=geode -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GEODE_M64
|
|
|
|
// CHECK_GEODE_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K6_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_K6_M32: #define __i386 1
|
|
|
|
// CHECK_K6_M32: #define __i386__ 1
|
|
|
|
// CHECK_K6_M32: #define __k6 1
|
|
|
|
// CHECK_K6_M32: #define __k6__ 1
|
|
|
|
// CHECK_K6_M32: #define __tune_k6__ 1
|
|
|
|
// CHECK_K6_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_M64
|
|
|
|
// CHECK_K6_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_2_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K6_2_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_K6_2_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_K6_2_M32: #define __i386 1
|
|
|
|
// CHECK_K6_2_M32: #define __i386__ 1
|
|
|
|
// CHECK_K6_2_M32: #define __k6 1
|
|
|
|
// CHECK_K6_2_M32: #define __k6_2__ 1
|
|
|
|
// CHECK_K6_2_M32: #define __k6__ 1
|
|
|
|
// CHECK_K6_2_M32: #define __tune_k6_2__ 1
|
|
|
|
// CHECK_K6_2_M32: #define __tune_k6__ 1
|
|
|
|
// CHECK_K6_2_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_2_M64
|
|
|
|
// CHECK_K6_2_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_3_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K6_3_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_K6_3_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_K6_3_M32: #define __i386 1
|
|
|
|
// CHECK_K6_3_M32: #define __i386__ 1
|
|
|
|
// CHECK_K6_3_M32: #define __k6 1
|
|
|
|
// CHECK_K6_3_M32: #define __k6_3__ 1
|
|
|
|
// CHECK_K6_3_M32: #define __k6__ 1
|
|
|
|
// CHECK_K6_3_M32: #define __tune_k6_3__ 1
|
|
|
|
// CHECK_K6_3_M32: #define __tune_k6__ 1
|
|
|
|
// CHECK_K6_3_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_3_M64
|
|
|
|
// CHECK_K6_3_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_M32: #define __athlon 1
|
|
|
|
// CHECK_ATHLON_M32: #define __athlon__ 1
|
|
|
|
// CHECK_ATHLON_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON_M32: #define __tune_athlon__ 1
|
|
|
|
// CHECK_ATHLON_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_M64
|
|
|
|
// CHECK_ATHLON_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_TBIRD_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __MMX__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __athlon 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __athlon__ 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define __tune_athlon__ 1
|
|
|
|
// CHECK_ATHLON_TBIRD_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_TBIRD_M64
|
|
|
|
// CHECK_ATHLON_TBIRD_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_4_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_4_M32: #define __athlon 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __athlon__ 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __athlon_sse__ 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON_4_M32: #define __tune_athlon__ 1
|
2011-09-28 17:54:11 +08:00
|
|
|
// CHECK_ATHLON_4_M32: #define __tune_athlon_sse__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_4_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_4_M64
|
|
|
|
// CHECK_ATHLON_4_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_XP_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_XP_M32: #define __athlon 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __athlon__ 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __athlon_sse__ 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON_XP_M32: #define __tune_athlon__ 1
|
2011-09-28 17:54:11 +08:00
|
|
|
// CHECK_ATHLON_XP_M32: #define __tune_athlon_sse__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_XP_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_XP_M64
|
|
|
|
// CHECK_ATHLON_XP_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_MP_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_MP_M32: #define __athlon 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __athlon__ 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __athlon_sse__ 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON_MP_M32: #define __tune_athlon__ 1
|
2011-09-28 17:54:11 +08:00
|
|
|
// CHECK_ATHLON_MP_M32: #define __tune_athlon_sse__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_MP_M32: #define i386 1
|
2013-07-05 00:16:58 +08:00
|
|
|
// RUN: not %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_MP_M64
|
|
|
|
// CHECK_ATHLON_MP_M64: error: {{.*}}
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_X86_64_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_X86_64_M32: #define __MMX__ 1
|
|
|
|
// CHECK_X86_64_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_X86_64_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_X86_64_M32: #define __i386 1
|
|
|
|
// CHECK_X86_64_M32: #define __i386__ 1
|
|
|
|
// CHECK_X86_64_M32: #define __k8 1
|
|
|
|
// CHECK_X86_64_M32: #define __k8__ 1
|
|
|
|
// CHECK_X86_64_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K8_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_K8_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_K8_M32: #define __MMX__ 1
|
|
|
|
// CHECK_K8_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_K8_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_K8_M32: #define __i386 1
|
|
|
|
// CHECK_K8_M32: #define __i386__ 1
|
|
|
|
// CHECK_K8_M32: #define __k8 1
|
|
|
|
// CHECK_K8_M32: #define __k8__ 1
|
|
|
|
// CHECK_K8_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_K8_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K8_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_K8_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_K8_M64: #define __MMX__ 1
|
|
|
|
// CHECK_K8_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_K8_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_K8_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_K8_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_K8_M64: #define __amd64 1
|
|
|
|
// CHECK_K8_M64: #define __amd64__ 1
|
|
|
|
// CHECK_K8_M64: #define __k8 1
|
|
|
|
// CHECK_K8_M64: #define __k8__ 1
|
|
|
|
// CHECK_K8_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_K8_M64: #define __x86_64 1
|
|
|
|
// CHECK_K8_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_SSE3_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __MMX__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_K8_SSE3_M32: #define __i386 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __i386__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __k8 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __k8__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_K8_SSE3_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_SSE3_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __MMX__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_K8_SSE3_M64: #define __amd64 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __amd64__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __k8 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __k8__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __x86_64 1
|
|
|
|
// CHECK_K8_SSE3_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_OPTERON_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define __MMX__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_OPTERON_M32: #define __i386 1
|
|
|
|
// CHECK_OPTERON_M32: #define __i386__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define __k8 1
|
|
|
|
// CHECK_OPTERON_M32: #define __k8__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_OPTERON_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_OPTERON_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __MMX__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_OPTERON_M64: #define __amd64 1
|
|
|
|
// CHECK_OPTERON_M64: #define __amd64__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __k8 1
|
|
|
|
// CHECK_OPTERON_M64: #define __k8__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_OPTERON_M64: #define __x86_64 1
|
|
|
|
// CHECK_OPTERON_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_SSE3_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __MMX__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __i386 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __i386__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __k8 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __k8__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_SSE3_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __MMX__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __amd64 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __amd64__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __k8 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __k8__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __x86_64 1
|
|
|
|
// CHECK_OPTERON_SSE3_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON64_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON64_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __k8 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __k8__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_ATHLON64_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON64_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_ATHLON64_M64: #define __amd64 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __k8 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __k8__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __x86_64 1
|
|
|
|
// CHECK_ATHLON64_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_SSE3_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __k8 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __k8__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_SSE3_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __amd64 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __k8 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __k8__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __x86_64 1
|
|
|
|
// CHECK_ATHLON64_SSE3_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 10:59:25 +08:00
|
|
|
// RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_FX_M32
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __SSE__ 1
|
2011-09-28 10:59:25 +08:00
|
|
|
// CHECK_ATHLON_FX_M32: #define __i386 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __i386__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __k8 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __k8__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define __tune_k8__ 1
|
|
|
|
// CHECK_ATHLON_FX_M32: #define i386 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2011-09-28 17:45:08 +08:00
|
|
|
// RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \
|
2012-05-10 02:49:52 +08:00
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_FX_M64
|
2011-09-28 18:36:46 +08:00
|
|
|
// CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __3dNOW__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __MMX__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __SSE__ 1
|
2011-09-28 17:45:08 +08:00
|
|
|
// CHECK_ATHLON_FX_M64: #define __amd64 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __k8 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __k8__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __tune_k8__ 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __x86_64 1
|
|
|
|
// CHECK_ATHLON_FX_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-11-17 09:43:10 +08:00
|
|
|
// RUN: %clang -march=amdfam10 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDFAM10_M32
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_AMDFAM10_M32: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __3dNOW__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_AMDFAM10_M32: #define __LAHF_SAHF__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_AMDFAM10_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __MMX__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __POPCNT__ 1
|
2020-06-26 02:45:09 +08:00
|
|
|
// CHECK_AMDFAM10_M32: #define __PRFCHW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_AMDFAM10_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __SSE__ 1
|
2020-09-09 01:49:32 +08:00
|
|
|
// CHECK_AMDFAM10_M32-NOT: #define __SSSE3__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_AMDFAM10_M32: #define __amdfam10 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __amdfam10__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __i386 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __i386__ 1
|
|
|
|
// CHECK_AMDFAM10_M32: #define __tune_amdfam10__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-05-30 01:48:39 +08:00
|
|
|
// RUN: %clang -march=amdfam10 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDFAM10_M64
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __3dNOW__ 1
|
2020-06-26 13:55:36 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __LAHF_SAHF__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __LZCNT__ 1
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __MMX__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __POPCNT__ 1
|
2020-06-26 02:45:09 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __PRFCHW__ 1
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __SSE__ 1
|
2020-09-09 01:49:32 +08:00
|
|
|
// CHECK_AMDFAM10_M64-NOT: #define __SSSE3__ 1
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_AMDFAM10_M64: #define __amd64 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __amd64__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __amdfam10 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __amdfam10__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __tune_amdfam10__ 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __x86_64 1
|
|
|
|
// CHECK_AMDFAM10_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-11-17 09:43:10 +08:00
|
|
|
// RUN: %clang -march=btver1 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER1_M32
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BTVER1_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BTVER1_M32-NOT: #define __3dNOW__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_BTVER1_M32: #define __LAHF_SAHF__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BTVER1_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __MMX__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BTVER1_M32: #define __PRFCHW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BTVER1_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __btver1 1
|
|
|
|
// CHECK_BTVER1_M32: #define __btver1__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __i386 1
|
|
|
|
// CHECK_BTVER1_M32: #define __i386__ 1
|
|
|
|
// CHECK_BTVER1_M32: #define __tune_btver1__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-11-17 09:43:10 +08:00
|
|
|
// RUN: %clang -march=btver1 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER1_M64
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BTVER1_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BTVER1_M64-NOT: #define __3dNOW__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_BTVER1_M64: #define __LAHF_SAHF__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BTVER1_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __MMX__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BTVER1_M64: #define __PRFCHW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BTVER1_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __amd64 1
|
|
|
|
// CHECK_BTVER1_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __btver1 1
|
|
|
|
// CHECK_BTVER1_M64: #define __btver1__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __tune_btver1__ 1
|
|
|
|
// CHECK_BTVER1_M64: #define __x86_64 1
|
|
|
|
// CHECK_BTVER1_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2013-05-03 18:47:15 +08:00
|
|
|
// RUN: %clang -march=btver2 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER2_M32
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BTVER2_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __AES__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __AVX__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __BMI__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __F16C__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __MOVBE__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __PCLMUL__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __PRFCHW__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __XSAVE__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M32: #define __btver2 1
|
|
|
|
// CHECK_BTVER2_M32: #define __btver2__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __i386 1
|
|
|
|
// CHECK_BTVER2_M32: #define __i386__ 1
|
|
|
|
// CHECK_BTVER2_M32: #define __tune_btver2__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2013-05-03 18:47:15 +08:00
|
|
|
// RUN: %clang -march=btver2 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER2_M64
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BTVER2_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __AES__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __AVX__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __BMI__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __F16C__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __MOVBE__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __PCLMUL__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __PRFCHW__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __SSSE3__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __XSAVE__ 1
|
2013-05-03 18:47:15 +08:00
|
|
|
// CHECK_BTVER2_M64: #define __amd64 1
|
|
|
|
// CHECK_BTVER2_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __btver2 1
|
|
|
|
// CHECK_BTVER2_M64: #define __btver2__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __tune_btver2__ 1
|
|
|
|
// CHECK_BTVER2_M64: #define __x86_64 1
|
|
|
|
// CHECK_BTVER2_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-11-17 09:43:10 +08:00
|
|
|
// RUN: %clang -march=bdver1 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER1_M32
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER1_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __AES__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __FMA4__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER1_M32: #define __LWP__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __MMX__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BDVER1_M32: #define __PRFCHW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER1_M32: #define __XSAVE__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M32: #define __bdver1 1
|
|
|
|
// CHECK_BDVER1_M32: #define __bdver1__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __i386 1
|
|
|
|
// CHECK_BDVER1_M32: #define __i386__ 1
|
|
|
|
// CHECK_BDVER1_M32: #define __tune_bdver1__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-05-30 01:48:39 +08:00
|
|
|
// RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER1_M64
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_BDVER1_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER1_M64-NOT: #define __3dNOW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __AES__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __AVX__ 1
|
2012-06-10 06:24:14 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __FMA4__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __LWP__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __LZCNT__ 1
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __MMX__ 1
|
2012-06-10 06:24:14 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __PCLMUL__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __PRFCHW__ 1
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __SSSE3__ 1
|
2012-06-10 06:24:14 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __XSAVE__ 1
|
2012-05-30 01:48:39 +08:00
|
|
|
// CHECK_BDVER1_M64: #define __amd64 1
|
|
|
|
// CHECK_BDVER1_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __bdver1 1
|
|
|
|
// CHECK_BDVER1_M64: #define __bdver1__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __tune_bdver1__ 1
|
|
|
|
// CHECK_BDVER1_M64: #define __x86_64 1
|
|
|
|
// CHECK_BDVER1_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-11-17 09:43:10 +08:00
|
|
|
// RUN: %clang -march=bdver2 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER2_M32
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER2_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __AES__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __BMI__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __F16C__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __FMA4__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __FMA__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __LWP__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __MMX__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __PRFCHW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __SSSE3__ 1
|
2013-09-25 03:00:58 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __TBM__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __XSAVE__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M32: #define __bdver2 1
|
|
|
|
// CHECK_BDVER2_M32: #define __bdver2__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __i386 1
|
|
|
|
// CHECK_BDVER2_M32: #define __i386__ 1
|
|
|
|
// CHECK_BDVER2_M32: #define __tune_bdver2__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2012-11-17 09:43:10 +08:00
|
|
|
// RUN: %clang -march=bdver2 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER2_M64
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER2_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __AES__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __BMI__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __F16C__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __FMA4__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __FMA__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __LWP__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __MMX__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __POPCNT__ 1
|
2013-10-17 03:07:02 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __PRFCHW__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __SSSE3__ 1
|
2013-09-25 03:00:58 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __TBM__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __XSAVE__ 1
|
2012-11-17 09:43:10 +08:00
|
|
|
// CHECK_BDVER2_M64: #define __amd64 1
|
|
|
|
// CHECK_BDVER2_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __bdver2 1
|
|
|
|
// CHECK_BDVER2_M64: #define __bdver2__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __tune_bdver2__ 1
|
|
|
|
// CHECK_BDVER2_M64: #define __x86_64 1
|
|
|
|
// CHECK_BDVER2_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2013-11-04 18:29:51 +08:00
|
|
|
// RUN: %clang -march=bdver3 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER3_M32
|
2013-11-04 18:29:51 +08:00
|
|
|
// CHECK_BDVER3_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER3_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __AES__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __BMI__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __F16C__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __FMA4__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __FMA__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BDVER3_M32: #define __FSGSBASE__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER3_M32: #define __LWP__ 1
|
2013-11-04 18:29:51 +08:00
|
|
|
// CHECK_BDVER3_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __MMX__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __TBM__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER3_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __XSAVE__ 1
|
2013-11-04 18:29:51 +08:00
|
|
|
// CHECK_BDVER3_M32: #define __bdver3 1
|
|
|
|
// CHECK_BDVER3_M32: #define __bdver3__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __i386 1
|
|
|
|
// CHECK_BDVER3_M32: #define __i386__ 1
|
|
|
|
// CHECK_BDVER3_M32: #define __tune_bdver3__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2013-11-04 18:29:51 +08:00
|
|
|
// RUN: %clang -march=bdver3 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER3_M64
|
2013-11-04 18:29:51 +08:00
|
|
|
// CHECK_BDVER3_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER3_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __AES__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __BMI__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __F16C__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __FMA4__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __FMA__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BDVER3_M64: #define __FSGSBASE__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER3_M64: #define __LWP__ 1
|
2013-11-04 18:29:51 +08:00
|
|
|
// CHECK_BDVER3_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __MMX__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __TBM__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER3_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __XSAVE__ 1
|
2013-11-04 18:29:51 +08:00
|
|
|
// CHECK_BDVER3_M64: #define __amd64 1
|
|
|
|
// CHECK_BDVER3_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __bdver3 1
|
|
|
|
// CHECK_BDVER3_M64: #define __bdver3__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __tune_bdver3__ 1
|
|
|
|
// CHECK_BDVER3_M64: #define __x86_64 1
|
|
|
|
// CHECK_BDVER3_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2014-05-02 23:47:51 +08:00
|
|
|
// RUN: %clang -march=bdver4 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER4_M32
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER4_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __AES__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __BMI__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __F16C__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __FMA4__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __FMA__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __FSGSBASE__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __LWP__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __MMX__ 1
|
2020-06-27 14:32:17 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __MOVBE__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __PRFCHW__ 1
|
2020-06-27 14:32:17 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __RDRND__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __TBM__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __XSAVE__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M32: #define __bdver4 1
|
|
|
|
// CHECK_BDVER4_M32: #define __bdver4__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __i386 1
|
|
|
|
// CHECK_BDVER4_M32: #define __i386__ 1
|
|
|
|
// CHECK_BDVER4_M32: #define __tune_bdver4__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2014-05-02 23:47:51 +08:00
|
|
|
// RUN: %clang -march=bdver4 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER4_M64
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_BDVER4_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __AES__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __AVX__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __BMI__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __F16C__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __FMA4__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __FMA__ 1
|
2014-11-06 20:08:57 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __FSGSBASE__ 1
|
2017-05-09 01:25:48 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __LWP__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __MMX__ 1
|
2020-06-27 14:32:17 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __MOVBE__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __PRFCHW__ 1
|
2020-06-27 14:32:17 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __RDRND__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSE__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __TBM__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __XOP__ 1
|
2015-10-15 13:23:38 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __XSAVE__ 1
|
2014-05-02 23:47:51 +08:00
|
|
|
// CHECK_BDVER4_M64: #define __amd64 1
|
|
|
|
// CHECK_BDVER4_M64: #define __amd64__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __bdver4 1
|
|
|
|
// CHECK_BDVER4_M64: #define __bdver4__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __tune_bdver4__ 1
|
|
|
|
// CHECK_BDVER4_M64: #define __x86_64 1
|
|
|
|
// CHECK_BDVER4_M64: #define __x86_64__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-01-10 14:02:12 +08:00
|
|
|
// RUN: %clang -march=znver1 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER1_M32
|
|
|
|
// CHECK_ZNVER1_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ZNVER1_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __ADX__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __AES__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __AVX__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __CLFLUSHOPT__ 1
|
2017-02-09 14:10:14 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __CLZERO__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __F16C__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER1_M32-NOT: #define __FMA4__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __FMA__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __MOVBE__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SHA__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __SSSE3__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER1_M32-NOT: #define __TBM__ 1
|
|
|
|
// CHECK_ZNVER1_M32-NOT: #define __XOP__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __i386 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __i386__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __tune_znver1__ 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __znver1 1
|
|
|
|
// CHECK_ZNVER1_M32: #define __znver1__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-01-10 14:02:12 +08:00
|
|
|
// RUN: %clang -march=znver1 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER1_M64
|
|
|
|
// CHECK_ZNVER1_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ZNVER1_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __ADX__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __AES__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __AVX__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __BMI__ 1
|
2017-02-08 14:48:58 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __CLFLUSHOPT__ 1
|
2017-02-09 14:10:14 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __CLZERO__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __F16C__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER1_M64-NOT: #define __FMA4__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __FMA__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __FSGSBASE__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __LAHF_SAHF__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __MMX__ 1
|
2018-09-29 01:09:51 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __MOVBE__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SHA__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __SSSE3__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER1_M64-NOT: #define __TBM__ 1
|
|
|
|
// CHECK_ZNVER1_M64-NOT: #define __XOP__ 1
|
2017-01-10 14:02:12 +08:00
|
|
|
// CHECK_ZNVER1_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __amd64 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __tune_znver1__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __x86_64 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __x86_64__ 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __znver1 1
|
|
|
|
// CHECK_ZNVER1_M64: #define __znver1__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2019-02-27 01:15:36 +08:00
|
|
|
// RUN: %clang -march=znver2 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER2_M32
|
|
|
|
// CHECK_ZNVER2_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ZNVER2_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __ADX__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __AES__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __AVX__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __BMI__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __CLZERO__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __F16C__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER2_M32-NOT: #define __FMA4__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M32: #define __FMA__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __FSGSBASE__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_ZNVER2_M32: #define __LAHF_SAHF__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SHA__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __SSSE3__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER2_M32-NOT: #define __TBM__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M32: #define __WBNOINVD__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER2_M32-NOT: #define __XOP__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __i386 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __i386__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __tune_znver2__ 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __znver2 1
|
|
|
|
// CHECK_ZNVER2_M32: #define __znver2__ 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=znver2 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER2_M64
|
|
|
|
// CHECK_ZNVER2_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ZNVER2_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __ADX__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __AES__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __AVX__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __BMI__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __CLZERO__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __F16C__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER2_M64-NOT: #define __FMA4__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M64: #define __FMA__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __FSGSBASE__ 1
|
2020-10-11 13:21:47 +08:00
|
|
|
// CHECK_ZNVER2_M64: #define __LAHF_SAHF__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __MMX__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SHA__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __SSSE3__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER2_M64-NOT: #define __TBM__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M64: #define __WBNOINVD__ 1
|
2020-07-01 00:58:48 +08:00
|
|
|
// CHECK_ZNVER2_M64-NOT: #define __XOP__ 1
|
2019-02-27 01:15:36 +08:00
|
|
|
// CHECK_ZNVER2_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __amd64 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __tune_znver2__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __x86_64 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __x86_64__ 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __znver2 1
|
|
|
|
// CHECK_ZNVER2_M64: #define __znver2__ 1
|
|
|
|
|
2020-10-25 00:00:20 +08:00
|
|
|
// RUN: %clang -march=znver3 -m32 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER3_M32
|
|
|
|
// CHECK_ZNVER3_M32-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ZNVER3_M32-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __ADX__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __AES__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __AVX2__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __AVX__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __BMI2__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __BMI__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __CLWB__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __CLZERO__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __F16C__ 1
|
|
|
|
// CHECK_ZNVER3_M32-NOT: #define __FMA4__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __FMA__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __LZCNT__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __MMX__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __PCLMUL__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __PKU__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __POPCNT__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __RDPID__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __RDRND__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __RDSEED__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SHA__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE2__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE3__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE4A__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSE__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __SSSE3__ 1
|
|
|
|
// CHECK_ZNVER3_M32-NOT: #define __TBM__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __WBNOINVD__ 1
|
|
|
|
// CHECK_ZNVER3_M32-NOT: #define __XOP__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __XSAVES__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __XSAVE__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __i386 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __i386__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __tune_znver3__ 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __znver3 1
|
|
|
|
// CHECK_ZNVER3_M32: #define __znver3__ 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=znver3 -m64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target i386-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ZNVER3_M64
|
|
|
|
// CHECK_ZNVER3_M64-NOT: #define __3dNOW_A__ 1
|
|
|
|
// CHECK_ZNVER3_M64-NOT: #define __3dNOW__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __ADX__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __AES__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __AVX2__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __AVX__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __BMI2__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __BMI__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __CLFLUSHOPT__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __CLWB__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __CLZERO__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __F16C__ 1
|
|
|
|
// CHECK_ZNVER3_M64-NOT: #define __FMA4__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __FMA__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __FSGSBASE__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __LZCNT__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __MMX__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __PCLMUL__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __PKU__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __POPCNT__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __PRFCHW__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __RDPID__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __RDRND__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __RDSEED__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SHA__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE2_MATH__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE2__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE3__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE4A__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE4_1__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE4_2__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE_MATH__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSE__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __SSSE3__ 1
|
|
|
|
// CHECK_ZNVER3_M64-NOT: #define __TBM__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __VAES__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __VPCLMULQDQ__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __WBNOINVD__ 1
|
|
|
|
// CHECK_ZNVER3_M64-NOT: #define __XOP__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __XSAVEC__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __XSAVEOPT__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __XSAVES__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __XSAVE__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __amd64 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __amd64__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __tune_znver3__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __x86_64 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __x86_64__ 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __znver3 1
|
|
|
|
// CHECK_ZNVER3_M64: #define __znver3__ 1
|
|
|
|
|
2011-09-28 18:17:41 +08:00
|
|
|
// End X86/GCC/Linux tests ------------------
|
2013-10-17 05:19:26 +08:00
|
|
|
|
|
|
|
// Begin PPC/GCC/Linux tests ----------------
|
2017-04-15 14:15:00 +08:00
|
|
|
// Check that VSX also turns on altivec.
|
|
|
|
// RUN: %clang -mvsx -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_VSX_M32
|
|
|
|
// CHECK_PPC_VSX_M32: #define __ALTIVEC__ 1
|
|
|
|
// CHECK_PPC_VSX_M32: #define __VSX__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2013-10-17 05:19:26 +08:00
|
|
|
// RUN: %clang -mvsx -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_VSX_M64
|
|
|
|
// CHECK_PPC_VSX_M64: #define __VSX__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2014-10-10 23:09:43 +08:00
|
|
|
// RUN: %clang -mpower8-vector -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_POWER8_VECTOR_M64
|
|
|
|
// CHECK_PPC_POWER8_VECTOR_M64: #define __POWER8_VECTOR__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-09-27 18:45:22 +08:00
|
|
|
// RUN: %clang -mpower9-vector -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_POWER9_VECTOR_M64
|
|
|
|
// CHECK_PPC_POWER9_VECTOR_M64: #define __POWER9_VECTOR__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2015-03-05 05:48:22 +08:00
|
|
|
// RUN: %clang -mcrypto -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_CRYPTO_M64
|
|
|
|
// CHECK_PPC_CRYPTO_M64: #define __CRYPTO__ 1
|
2017-03-21 05:12:53 +08:00
|
|
|
|
|
|
|
// HTM is available on power8 or later which includes all of powerpc64le as an
|
|
|
|
// ABI choice. Test that, the cpus, and the option.
|
|
|
|
// RUN: %clang -mhtm -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_HTM
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64le-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_HTM
|
|
|
|
// RUN: %clang -mcpu=pwr8 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_HTM
|
|
|
|
// RUN: %clang -mcpu=pwr9 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_HTM
|
|
|
|
// CHECK_PPC_HTM: #define __HTM__ 1
|
|
|
|
|
2015-10-01 21:39:49 +08:00
|
|
|
// RUN: %clang -mcpu=ppc64 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-unknown \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS
|
2015-05-15 04:02:24 +08:00
|
|
|
// RUN: %clang -mcpu=pwr8 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64-unknown-unknown \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS
|
2015-05-15 04:02:24 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target powerpc64le-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS
|
|
|
|
// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2015-05-15 04:02:24 +08:00
|
|
|
// End PPC/GCC/Linux tests ------------------
|
2015-04-01 20:54:25 +08:00
|
|
|
|
2015-05-11 23:21:44 +08:00
|
|
|
// Begin Sparc/GCC/Linux tests ----------------
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2015-05-11 23:21:44 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparc-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC
|
2015-05-11 23:21:44 +08:00
|
|
|
// CHECK_SPARC: #define __BIG_ENDIAN__ 1
|
|
|
|
// CHECK_SPARC: #define __sparc 1
|
|
|
|
// CHECK_SPARC: #define __sparc__ 1
|
2015-11-10 07:39:45 +08:00
|
|
|
// CHECK_SPARC-NOT: #define __sparcv9 1
|
2015-11-11 03:28:17 +08:00
|
|
|
// CHECK_SPARC-NOT: #define __sparcv9__ 1
|
2015-05-11 23:21:44 +08:00
|
|
|
// CHECK_SPARC: #define __sparcv8 1
|
2015-11-10 07:39:45 +08:00
|
|
|
// CHECK_SPARC-NOT: #define __sparcv9 1
|
2015-11-11 03:28:17 +08:00
|
|
|
// CHECK_SPARC-NOT: #define __sparcv9__ 1
|
2015-11-10 07:39:45 +08:00
|
|
|
|
2018-04-13 02:15:39 +08:00
|
|
|
// RUN: %clang -mcpu=v9 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparc-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC-V9
|
2015-11-10 07:39:45 +08:00
|
|
|
// CHECK_SPARC-V9-NOT: #define __sparcv8 1
|
[clang][Sparc] Default to -mcpu=v9 for Sparc V8 on Solaris
As reported in Bug 42535, `clang` doesn't inline atomic ops on 32-bit
Sparc, unlike `gcc` on Solaris. In a 1-stage build with `gcc`, only two
testcases are affected (currently `XFAIL`ed), while in a 2-stage build more
than 100 tests `FAIL` due to this issue.
The reason for this `gcc`/`clang` difference is that `gcc` on 32-bit
Solaris/SPARC defaults to `-mpcu=v9` where atomic ops are supported, unlike
with `clang`'s default of `-mcpu=v8`. This patch changes `clang` to use
`-mcpu=v9` on 32-bit Solaris/SPARC, too.
Doing so uncovered two bugs:
`clang -m32 -mcpu=v9` chokes with any Solaris system headers included:
/usr/include/sys/isa_defs.h:461:2: error: "Both _ILP32 and _LP64 are defined"
#error "Both _ILP32 and _LP64 are defined"
While `clang` currently defines `__sparcv9` in a 32-bit `-mcpu=v9`
compilation, neither `gcc` nor Studio `cc` do. In fact, the Studio 12.6
`cc(1)` man page clearly states:
These predefinitions are valid in all modes:
[...]
__sparcv8 (SPARC)
__sparcv9 (SPARC -m64)
At the same time, the patch defines `__GCC_HAVE_SYNC_COMPARE_AND_SWAP_[1248]`
for a 32-bit Sparc compilation with any V9 cpu. I've also changed
`MaxAtomicInlineWidth` for V9, matching what `gcc` does and the Oracle
Developer Studio 12.6: C User's Guide documents (Ch. 3, Support for Atomic
Types, 3.1 Size and Alignment of Atomic C Types).
The two testcases that had been `XFAIL`ed for Bug 42535 are un-`XFAIL`ed
again.
Tested on `sparcv9-sun-solaris2.11` and `amd64-pc-solaris2.11`.
Differential Revision: https://reviews.llvm.org/D86621
2020-09-11 15:53:19 +08:00
|
|
|
// CHECK_SPARC-V9-NOT: #define __sparcv8__ 1
|
2015-11-11 03:28:17 +08:00
|
|
|
// CHECK_SPARC-V9: #define __sparc_v9__ 1
|
2015-11-10 07:39:45 +08:00
|
|
|
// CHECK_SPARC-V9: #define __sparcv9 1
|
[clang][Sparc] Default to -mcpu=v9 for Sparc V8 on Solaris
As reported in Bug 42535, `clang` doesn't inline atomic ops on 32-bit
Sparc, unlike `gcc` on Solaris. In a 1-stage build with `gcc`, only two
testcases are affected (currently `XFAIL`ed), while in a 2-stage build more
than 100 tests `FAIL` due to this issue.
The reason for this `gcc`/`clang` difference is that `gcc` on 32-bit
Solaris/SPARC defaults to `-mpcu=v9` where atomic ops are supported, unlike
with `clang`'s default of `-mcpu=v8`. This patch changes `clang` to use
`-mcpu=v9` on 32-bit Solaris/SPARC, too.
Doing so uncovered two bugs:
`clang -m32 -mcpu=v9` chokes with any Solaris system headers included:
/usr/include/sys/isa_defs.h:461:2: error: "Both _ILP32 and _LP64 are defined"
#error "Both _ILP32 and _LP64 are defined"
While `clang` currently defines `__sparcv9` in a 32-bit `-mcpu=v9`
compilation, neither `gcc` nor Studio `cc` do. In fact, the Studio 12.6
`cc(1)` man page clearly states:
These predefinitions are valid in all modes:
[...]
__sparcv8 (SPARC)
__sparcv9 (SPARC -m64)
At the same time, the patch defines `__GCC_HAVE_SYNC_COMPARE_AND_SWAP_[1248]`
for a 32-bit Sparc compilation with any V9 cpu. I've also changed
`MaxAtomicInlineWidth` for V9, matching what `gcc` does and the Oracle
Developer Studio 12.6: C User's Guide documents (Ch. 3, Support for Atomic
Types, 3.1 Size and Alignment of Atomic C Types).
The two testcases that had been `XFAIL`ed for Bug 42535 are un-`XFAIL`ed
again.
Tested on `sparcv9-sun-solaris2.11` and `amd64-pc-solaris2.11`.
Differential Revision: https://reviews.llvm.org/D86621
2020-09-11 15:53:19 +08:00
|
|
|
// CHECK_SPARC-V9: #define __sparcv9__ 1
|
|
|
|
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparc-sun-solaris \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC_SOLARIS_GCC_ATOMICS
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
|
|
|
|
// RUN: %clang -mcpu=v8 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparc-sun-solaris \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC_SOLARIS_GCC_ATOMICS-V8
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS-V8-NOT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS-V8-NOT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS-V8-NOT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SPARC_SOLARIS_GCC_ATOMICS-V8-NOT: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
2015-05-11 23:21:44 +08:00
|
|
|
|
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparcel-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCEL
|
2016-03-16 06:34:02 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2 2>&1 \
|
2017-10-03 02:50:57 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
2016-03-16 06:34:02 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2.1 2>&1 \
|
2017-10-03 02:50:57 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-1 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
2016-03-16 06:34:02 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2.2 2>&1 \
|
2017-10-03 02:50:57 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2.3 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-3 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2100 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-1 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2150 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2155 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
2016-07-26 00:36:02 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2450 2>&1 \
|
2017-10-03 02:50:57 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2455 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2x5x 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2080 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-3 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2085 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-3 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2480 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-3 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2485 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-3 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
|
|
|
// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=ma2x8x 2>&1 \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-3 \
|
|
|
|
// RUN: -check-prefix=CHECK_SPARCEL -check-prefix=CHECK_MYRIAD2
|
2015-05-11 23:21:44 +08:00
|
|
|
// CHECK_SPARCEL: #define __LITTLE_ENDIAN__ 1
|
2017-10-03 02:50:57 +08:00
|
|
|
// CHECK_MYRIAD2: #define __leon__ 1
|
2016-03-16 06:34:02 +08:00
|
|
|
// CHECK_MYRIAD2-1: #define __myriad2 1
|
|
|
|
// CHECK_MYRIAD2-1: #define __myriad2__ 1
|
2018-02-07 06:39:47 +08:00
|
|
|
// CHECK_MYRIAD2-2: #define __ma2x5x 1
|
|
|
|
// CHECK_MYRIAD2-2: #define __ma2x5x__ 1
|
2016-03-16 06:34:02 +08:00
|
|
|
// CHECK_MYRIAD2-2: #define __myriad2 2
|
|
|
|
// CHECK_MYRIAD2-2: #define __myriad2__ 2
|
2018-02-07 06:39:47 +08:00
|
|
|
// CHECK_MYRIAD2-3: #define __ma2x8x 1
|
|
|
|
// CHECK_MYRIAD2-3: #define __ma2x8x__ 1
|
2017-10-03 02:50:57 +08:00
|
|
|
// CHECK_MYRIAD2-3: #define __myriad2 3
|
|
|
|
// CHECK_MYRIAD2-3: #define __myriad2__ 3
|
2015-05-11 23:21:44 +08:00
|
|
|
// CHECK_SPARCEL: #define __sparc 1
|
|
|
|
// CHECK_SPARCEL: #define __sparc__ 1
|
2017-10-03 02:50:57 +08:00
|
|
|
// CHECK_MYRIAD2: #define __sparc_v8__ 1
|
2015-05-11 23:21:44 +08:00
|
|
|
// CHECK_SPARCEL: #define __sparcv8 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2015-05-11 23:21:44 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparcv9-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCV9
|
2015-05-11 23:21:44 +08:00
|
|
|
// CHECK_SPARCV9: #define __BIG_ENDIAN__ 1
|
|
|
|
// CHECK_SPARCV9: #define __sparc 1
|
|
|
|
// CHECK_SPARCV9: #define __sparc64__ 1
|
|
|
|
// CHECK_SPARCV9: #define __sparc__ 1
|
|
|
|
// CHECK_SPARCV9: #define __sparc_v9__ 1
|
|
|
|
// CHECK_SPARCV9: #define __sparcv9 1
|
|
|
|
// CHECK_SPARCV9: #define __sparcv9__ 1
|
|
|
|
|
2020-08-11 12:04:24 +08:00
|
|
|
// RUN: %clang -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target sparcv9-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCV9_GCC_ATOMICS
|
|
|
|
// CHECK_SPARCV9_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SPARCV9_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SPARCV9_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SPARCV9_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
|
2015-04-01 20:54:25 +08:00
|
|
|
// Begin SystemZ/GCC/Linux tests ----------------
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: %clang -march=arch8 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH8
|
2015-04-01 20:54:25 +08:00
|
|
|
// RUN: %clang -march=z10 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH8
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __ARCH__ 8
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __LONG_DOUBLE_128__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __s390__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __s390x__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH8: #define __zarch__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: %clang -march=arch9 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH9
|
|
|
|
// RUN: %clang -march=z196 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH9
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __ARCH__ 9
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __LONG_DOUBLE_128__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __s390__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __s390x__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH9: #define __zarch__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: %clang -march=arch10 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH10
|
2015-04-01 20:54:25 +08:00
|
|
|
// RUN: %clang -march=zEC12 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH10
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __ARCH__ 10
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __HTM__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __LONG_DOUBLE_128__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __s390__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __s390x__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH10: #define __zarch__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: %clang -march=arch11 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH11
|
|
|
|
// RUN: %clang -march=z13 -E -dM %s -o - 2>&1 \
|
2016-10-31 22:38:05 +08:00
|
|
|
// RUN: -target s390x-unknown-linux \
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH11
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __ARCH__ 11
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __HTM__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __LONG_DOUBLE_128__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __VX__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __s390__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __s390x__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH11: #define __zarch__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-07-18 01:45:57 +08:00
|
|
|
// RUN: %clang -march=arch12 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH12
|
|
|
|
// RUN: %clang -march=z14 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH12
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __ARCH__ 12
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __HTM__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __LONG_DOUBLE_128__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __VX__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __s390__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __s390x__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH12: #define __zarch__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2019-07-13 02:14:51 +08:00
|
|
|
// RUN: %clang -march=arch13 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH13
|
2019-09-21 07:06:03 +08:00
|
|
|
// RUN: %clang -march=z15 -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ARCH13
|
2019-07-13 02:14:51 +08:00
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __ARCH__ 13
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __HTM__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __LONG_DOUBLE_128__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __VX__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __s390__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __s390x__ 1
|
|
|
|
// CHECK_SYSTEMZ_ARCH13: #define __zarch__ 1
|
|
|
|
|
2015-04-01 20:54:25 +08:00
|
|
|
// RUN: %clang -mhtm -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_HTM
|
2015-04-01 20:54:25 +08:00
|
|
|
// CHECK_SYSTEMZ_HTM: #define __HTM__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2017-02-07 01:04:22 +08:00
|
|
|
// RUN: %clang -mvx -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_VX
|
|
|
|
// CHECK_SYSTEMZ_VX: #define __VX__ 1
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2015-07-30 22:08:36 +08:00
|
|
|
// RUN: %clang -fzvector -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR
|
2015-07-30 22:08:36 +08:00
|
|
|
// RUN: %clang -mzvector -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target s390x-unknown-linux \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR
|
2019-07-13 02:14:51 +08:00
|
|
|
// CHECK_SYSTEMZ_ZVECTOR: #define __VEC__ 10303
|
2016-02-27 17:06:26 +08:00
|
|
|
|
|
|
|
// Begin amdgcn tests ----------------
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-02-27 17:06:26 +08:00
|
|
|
// RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target amdgcn-unknown-unknown \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDGCN
|
2016-02-27 17:06:26 +08:00
|
|
|
// CHECK_AMDGCN: #define __AMDGCN__ 1
|
2017-10-20 04:40:13 +08:00
|
|
|
// CHECK_AMDGCN: #define __HAS_FMAF__ 1
|
|
|
|
// CHECK_AMDGCN: #define __HAS_FP64__ 1
|
|
|
|
// CHECK_AMDGCN: #define __HAS_LDEXPF__ 1
|
2016-02-27 17:06:26 +08:00
|
|
|
|
|
|
|
// Begin r600 tests ----------------
|
2018-04-13 02:15:39 +08:00
|
|
|
|
2016-02-27 17:06:26 +08:00
|
|
|
// RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target r600-unknown-unknown \
|
2016-04-02 05:33:20 +08:00
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_R600
|
2016-02-27 17:06:26 +08:00
|
|
|
// CHECK_R600: #define __R600__ 1
|
2017-10-20 04:40:13 +08:00
|
|
|
// CHECK_R600-NOT: #define __HAS_FMAF__ 1
|
|
|
|
|
|
|
|
// RUN: %clang -march=amdgcn -mcpu=cypress -E -dM %s -o - 2>&1 \
|
|
|
|
// RUN: -target r600-unknown-unknown \
|
|
|
|
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_R600_FP64
|
|
|
|
// CHECK_R600_FP64-DAG: #define __R600__ 1
|
|
|
|
// CHECK_R600_FP64-DAG: #define __HAS_FMAF__ 1
|