Skip to content

Commit 299a8e2

Browse files
aarch64: Update fp8 dependencies
We agreed with LLVM developers to not enforce the architectural dependencies between fp8 multiplication features, and they have already been removed from LLVM and Binutils. Remove them from GCC as well. gcc/ChangeLog: * config/aarch64/aarch64-option-extensions.def (SSVE_FP8FMA): Adjust formatting. (FP8DOT4): Replace FP8FMA dependency with FP8. (SSVE_FP8DOT4): Replace SSVE_FP8FMA dependency with SME2+FP8. (FP8DOT2): Replace FP8DOT4 dependency with FP8. (SSVE_FP8DOT2): Replace SSVE_FP8DOT4 dependency with SME2+FP8. gcc/testsuite/ChangeLog: * gcc.target/aarch64/pragma_cpp_predefs_4.c: Adjust expected defines. * gcc.target/aarch64/simd/vmla_lane_indices_1.c: Modify target pragmas. * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_1.c: Ditto. * gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_group_selection_1.c: Ditto. * gcc.target/aarch64/sve2/acle/asm/dot_lane_mf8.c: Ditto. * gcc.target/aarch64/sve2/acle/asm/dot_mf8.c: Ditto.
1 parent 00d943b commit 299a8e2

File tree

7 files changed

+15
-15
lines changed

7 files changed

+15
-15
lines changed

gcc/config/aarch64/aarch64-option-extensions.def

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,17 +261,17 @@ AARCH64_OPT_EXTENSION("fp8", FP8, (SIMD), (), (), "f8cvt")
261261

262262
AARCH64_OPT_EXTENSION("fp8fma", FP8FMA, (FP8), (), (), "f8fma")
263263

264-
AARCH64_OPT_EXTENSION("ssve-fp8fma", SSVE_FP8FMA, (SME2,FP8), (), (), "smesf8fma")
264+
AARCH64_OPT_EXTENSION("ssve-fp8fma", SSVE_FP8FMA, (SME2, FP8), (), (), "smesf8fma")
265265

266266
AARCH64_OPT_EXTENSION("faminmax", FAMINMAX, (SIMD), (), (), "faminmax")
267267

268-
AARCH64_OPT_EXTENSION("fp8dot4", FP8DOT4, (FP8FMA), (), (), "f8dp4")
268+
AARCH64_OPT_EXTENSION("fp8dot4", FP8DOT4, (FP8), (), (), "f8dp4")
269269

270-
AARCH64_OPT_EXTENSION("ssve-fp8dot4", SSVE_FP8DOT4, (SSVE_FP8FMA), (), (), "smesf8dp4")
270+
AARCH64_OPT_EXTENSION("ssve-fp8dot4", SSVE_FP8DOT4, (SME2, FP8), (), (), "smesf8dp4")
271271

272-
AARCH64_OPT_EXTENSION("fp8dot2", FP8DOT2, (FP8DOT4), (), (), "f8dp2")
272+
AARCH64_OPT_EXTENSION("fp8dot2", FP8DOT2, (FP8), (), (), "f8dp2")
273273

274-
AARCH64_OPT_EXTENSION("ssve-fp8dot2", SSVE_FP8DOT2, (SSVE_FP8DOT4), (), (), "smesf8dp2")
274+
AARCH64_OPT_EXTENSION("ssve-fp8dot2", SSVE_FP8DOT2, (SME2, FP8), (), (), "smesf8dp2")
275275

276276
AARCH64_OPT_EXTENSION("lut", LUT, (SIMD), (), (), "lut")
277277

gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_4.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@
292292
#ifndef __ARM_FEATURE_FP8
293293
#error Foo
294294
#endif
295-
#ifndef __ARM_FEATURE_FP8FMA
295+
#ifdef __ARM_FEATURE_FP8FMA
296296
#error Foo
297297
#endif
298298
#ifndef __ARM_FEATURE_FP8DOT4
@@ -306,10 +306,10 @@
306306
#ifndef __ARM_FEATURE_FP8
307307
#error Foo
308308
#endif
309-
#ifndef __ARM_FEATURE_FP8FMA
309+
#ifdef __ARM_FEATURE_FP8FMA
310310
#error Foo
311311
#endif
312-
#ifndef __ARM_FEATURE_FP8DOT4
312+
#ifdef __ARM_FEATURE_FP8DOT4
313313
#error Foo
314314
#endif
315315
#ifndef __ARM_FEATURE_FP8DOT2

gcc/testsuite/gcc.target/aarch64/simd/vmla_lane_indices_1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include "arm_neon.h"
44

5-
#pragma GCC target "+fp8dot4+fp8dot2"
5+
#pragma GCC target "+fp8fma"
66

77
void
88
test(float16x4_t f16, float16x8_t f16q, float32x2_t f32,

gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include <arm_sve.h>
44

5-
#pragma GCC target ("arch=armv8.2-a+sve2+fp8dot2")
5+
#pragma GCC target ("arch=armv8.2-a+sve2+fp8fma+fp8dot4+fp8dot2")
66

77
void
88
test (svfloat16_t f16, svmfloat8_t f8, fpm_t fpm,

gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/ternary_mfloat8_lane_group_selection_1.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include <arm_sve.h>
44

5-
#pragma GCC target ("arch=armv8.2-a+ssve-fp8fma+ssve-fp8dot2")
5+
#pragma GCC target ("arch=armv8.2-a+ssve-fp8fma+ssve-fp8dot4+ssve-fp8dot2")
66

77
void
88
f1 (svfloat16_t f16, svmfloat8_t f8, fpm_t fpm,

gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dot_lane_mf8.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
#include "test_sve_acle.h"
66

7-
#pragma GCC target "+fp8dot2"
7+
#pragma GCC target "+fp8dot2+fp8dot4"
88
#ifdef STREAMING_COMPATIBLE
9-
#pragma GCC target "+ssve-fp8dot2"
9+
#pragma GCC target "+ssve-fp8dot2+ssve-fp8dot4"
1010
#endif
1111

1212
/*

gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/dot_mf8.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
#include "test_sve_acle.h"
66

7-
#pragma GCC target "+fp8dot2"
7+
#pragma GCC target "+fp8dot2+fp8dot4"
88
#ifdef STREAMING_COMPATIBLE
9-
#pragma GCC target "+ssve-fp8dot2"
9+
#pragma GCC target "+ssve-fp8dot2+ssve-fp8dot4"
1010
#endif
1111

1212
/*

0 commit comments

Comments
 (0)