Skip to content

Commit 66c1717

Browse files
JoeLosertru
authored andcommitted
[clang] Change AMX macros to match names from GCC
The current behavior for AMX macros is: ``` gcc -march=native -dM -E - < /dev/null | grep TILE clang -march=native -dM -E - < /dev/null | grep TILE ``` which is not ideal. Change `__AMXTILE__` and friends to `__AMX_TILE__` (i.e. have an underscore in them). This makes GCC and Clang agree on the naming of these AMX macros to simplify downstream user code. Fix this for `__AMXTILE__`, `__AMX_INT8__`, `__AMX_BF16__`, and `__AMX_FP16__`. Differential Revision: https://reviews.llvm.org/D143094 (cherry picked from commit 8998fa6)
1 parent 673bf4f commit 66c1717

File tree

5 files changed

+36
-36
lines changed

5 files changed

+36
-36
lines changed

clang/lib/Basic/Targets/X86.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -795,13 +795,13 @@ void X86TargetInfo::getTargetDefines(const LangOptions &Opts,
795795
if (HasHRESET)
796796
Builder.defineMacro("__HRESET__");
797797
if (HasAMXTILE)
798-
Builder.defineMacro("__AMXTILE__");
798+
Builder.defineMacro("__AMX_TILE__");
799799
if (HasAMXINT8)
800-
Builder.defineMacro("__AMXINT8__");
800+
Builder.defineMacro("__AMX_INT8__");
801801
if (HasAMXBF16)
802-
Builder.defineMacro("__AMXBF16__");
802+
Builder.defineMacro("__AMX_BF16__");
803803
if (HasAMXFP16)
804-
Builder.defineMacro("__AMXFP16__");
804+
Builder.defineMacro("__AMX_FP16__");
805805
if (HasCMPCCXADD)
806806
Builder.defineMacro("__CMPCCXADD__");
807807
if (HasRAOINT)

clang/lib/Headers/immintrin.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ _storebe_i64(void * __P, long long __D) {
524524
#include <invpcidintrin.h>
525525
#endif
526526
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
527-
defined(__AMXFP16__)
527+
defined(__AMX_FP16__)
528528
#include <amxfp16intrin.h>
529529
#endif
530530

@@ -534,7 +534,7 @@ _storebe_i64(void * __P, long long __D) {
534534
#endif
535535

536536
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
537-
defined(__AMXTILE__) || defined(__AMXINT8__) || defined(__AMXBF16__)
537+
defined(__AMX_TILE__) || defined(__AMX_INT8__) || defined(__AMX_BF16__)
538538
#include <amxintrin.h>
539539
#endif
540540

clang/test/Preprocessor/predefined-arch-macros.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1649,9 +1649,9 @@
16491649
// RUN: -target i386-unknown-linux \
16501650
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPR_M32
16511651
// CHECK_SPR_M32: #define __AES__ 1
1652-
// CHECK_SPR_M32: #define __AMXBF16__ 1
1653-
// CHECK_SPR_M32: #define __AMXINT8__ 1
1654-
// CHECK_SPR_M32: #define __AMXTILE__ 1
1652+
// CHECK_SPR_M32: #define __AMX_BF16__ 1
1653+
// CHECK_SPR_M32: #define __AMX_INT8__ 1
1654+
// CHECK_SPR_M32: #define __AMX_TILE__ 1
16551655
// CHECK_SPR_M32: #define __AVX2__ 1
16561656
// CHECK_SPR_M32: #define __AVX512BF16__ 1
16571657
// CHECK_SPR_M32: #define __AVX512BITALG__ 1
@@ -1724,9 +1724,9 @@
17241724
// RUN: -target i386-unknown-linux \
17251725
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPR_M64
17261726
// CHECK_SPR_M64: #define __AES__ 1
1727-
// CHECK_SPR_M64: #define __AMXBF16__ 1
1728-
// CHECK_SPR_M64: #define __AMXINT8__ 1
1729-
// CHECK_SPR_M64: #define __AMXTILE__ 1
1727+
// CHECK_SPR_M64: #define __AMX_BF16__ 1
1728+
// CHECK_SPR_M64: #define __AMX_INT8__ 1
1729+
// CHECK_SPR_M64: #define __AMX_TILE__ 1
17301730
// CHECK_SPR_M64: #define __AVX2__ 1
17311731
// CHECK_SPR_M64: #define __AVX512BF16__ 1
17321732
// CHECK_SPR_M64: #define __AVX512BITALG__ 1
@@ -1797,10 +1797,10 @@
17971797
// RUN: --target=i386 \
17981798
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GNR_M32
17991799
// CHECK_GNR_M32: #define __AES__ 1
1800-
// CHECK_GNR_M32: #define __AMXBF16__ 1
1801-
// CHECK_GNR_M32: #define __AMXFP16__ 1
1802-
// CHECK_GNR_M32: #define __AMXINT8__ 1
1803-
// CHECK_GNR_M32: #define __AMXTILE__ 1
1800+
// CHECK_GNR_M32: #define __AMX_BF16__ 1
1801+
// CHECK_GNR_M32: #define __AMX_FP16__ 1
1802+
// CHECK_GNR_M32: #define __AMX_INT8__ 1
1803+
// CHECK_GNR_M32: #define __AMX_TILE__ 1
18041804
// CHECK_GNR_M32: #define __AVX2__ 1
18051805
// CHECK_GNR_M32: #define __AVX512BF16__ 1
18061806
// CHECK_GNR_M32: #define __AVX512BITALG__ 1
@@ -1871,10 +1871,10 @@
18711871
// RUN: --target=x86_64 \
18721872
// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GNR_M64
18731873
// CHECK_GNR_M64: #define __AES__ 1
1874-
// CHECK_GNR_M64: #define __AMXBF16__ 1
1875-
// CHECK_GNR_M64: #define __AMXFP16__ 1
1876-
// CHECK_GNR_M64: #define __AMXINT8__ 1
1877-
// CHECK_GNR_M64: #define __AMXTILE__ 1
1874+
// CHECK_GNR_M64: #define __AMX_BF16__ 1
1875+
// CHECK_GNR_M64: #define __AMX_FP16__ 1
1876+
// CHECK_GNR_M64: #define __AMX_INT8__ 1
1877+
// CHECK_GNR_M64: #define __AMX_TILE__ 1
18781878
// CHECK_GNR_M64: #define __AVX2__ 1
18791879
// CHECK_GNR_M64: #define __AVX512BF16__ 1
18801880
// CHECK_GNR_M64: #define __AVX512BITALG__ 1
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,35 @@
11
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mamx-tile -x c -E -dM -o - %s | FileCheck -check-prefix=AMX-TILE %s
22

3-
// AMX-TILE: #define __AMXTILE__ 1
3+
// AMX-TILE: #define __AMX_TILE__ 1
44

55
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mamx-bf16 -x c -E -dM -o - %s | FileCheck -check-prefix=AMX-BF16 %s
66

7-
// AMX-BF16: #define __AMXBF16__ 1
8-
// AMX-BF16: #define __AMXTILE__ 1
7+
// AMX-BF16: #define __AMX_BF16__ 1
8+
// AMX-BF16: #define __AMX_TILE__ 1
99

1010
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mamx-int8 -x c -E -dM -o - %s | FileCheck -check-prefix=AMX-INT8 %s
1111

12-
// AMX-INT8: #define __AMXINT8__ 1
13-
// AMX-INT8: #define __AMXTILE__ 1
12+
// AMX-INT8: #define __AMX_INT8__ 1
13+
// AMX-INT8: #define __AMX_TILE__ 1
1414

1515
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mno-amx-tile -x c -E -dM -o - %s | FileCheck -check-prefix=NOAMX-TILE %s
1616

17-
// NOAMX-TILE-NOT: #define __AMXTILE__ 1
17+
// NOAMX-TILE-NOT: #define __AMX_TILE__ 1
1818

1919
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mno-amx-bf16 -x c -E -dM -o - %s | FileCheck -check-prefix=NOAMX-BF16 %s
2020

21-
// NOAMX-BF16-NOT: #define __AMXBF16__ 1
21+
// NOAMX-BF16-NOT: #define __AMX_BF16__ 1
2222

2323
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mamx-bf16 -mno-amx-tile -x c -E -dM -o - %s | FileCheck -check-prefix=NOAMX-BF16 %s
2424

25-
// NOAMX-BF16-NOT: #define __AMXTILE__ 1
26-
// NOAMX-BF16-NOT: #define __AMXBF16__ 1
25+
// NOAMX-BF16-NOT: #define __AMX_TILE__ 1
26+
// NOAMX-BF16-NOT: #define __AMX_BF16__ 1
2727

2828
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mno-amx-int8 -x c -E -dM -o - %s | FileCheck -check-prefix=NOAMX-INT8 %s
2929

30-
// NOAMX-INT8-NOT: #define __AMXINT8__ 1
30+
// NOAMX-INT8-NOT: #define __AMX_INT8__ 1
3131

3232
// RUN: %clang -target i386-unknown-linux-gnu -march=i386 -mamx-int8 -mno-amx-tile -x c -E -dM -o - %s | FileCheck -check-prefix=NOAMX-INT8 %s
3333

34-
// NOAMX-INT8-NOT: #define __AMXTILE__ 1
35-
// NOAMX-INT8-NOT: #define __AMXINT8__ 1
34+
// NOAMX-INT8-NOT: #define __AMX_TILE__ 1
35+
// NOAMX-INT8-NOT: #define __AMX_INT8__ 1

clang/test/Preprocessor/x86_target_features.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -548,16 +548,16 @@
548548
// RUN: %clang -target x86_64-unknown-linux-gnu -march=atom -mamx-fp16 -x c \
549549
// RUN: -E -dM -o - %s | FileCheck -check-prefix=AMX-FP16 %s
550550

551-
// AMX-FP16: #define __AMXFP16__ 1
552-
// AMX-FP16: #define __AMXTILE__ 1
551+
// AMX-FP16: #define __AMX_FP16__ 1
552+
// AMX-FP16: #define __AMX_TILE__ 1
553553

554554
// RUN: %clang -target x86_64-unknown-linux-gnu -march=atom -mno-amx-fp16 \
555555
// RUN: -x c -E -dM -o - %s | FileCheck -check-prefix=NO-AMX-FP16 %s
556556
// RUN: %clang -target x86_64-unknown-linux-gnu -march=atom -mamx-fp16 \
557557
// RUN: -mno-amx-tile -x c -E -dM -o - %s | FileCheck -check-prefix=NO-AMX-FP16 %s
558558

559-
// NO-AMX-FP16-NOT: #define __AMXFP16__ 1
560-
// NO-AMX-FP16-NOT: #define __AMXTILE__ 1
559+
// NO-AMX-FP16-NOT: #define __AMX_FP16__ 1
560+
// NO-AMX-FP16-NOT: #define __AMX_TILE__ 1
561561

562562
// RUN: %clang -target i386-unknown-unknown -march=atom -mavxvnni -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVXVNNI %s
563563

0 commit comments

Comments
 (0)