public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Arm64/gas: adjustments to features' prereqs
@ 2023-02-13  8:11 Jan Beulich
  2023-02-13  8:12 ` [PATCH 1/2] Arm64/gas: add missing prereq features Jan Beulich
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jan Beulich @ 2023-02-13  8:11 UTC (permalink / raw)
  To: Binutils; +Cc: Richard Earnshaw, Marcus Shawcroft

There are both missing and redundant ones, the former being a bug
while the latter being merely inconsistent.

1: add missing prereq features
2: drop redundant feature prereqs

Jan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] Arm64/gas: add missing prereq features
  2023-02-13  8:11 [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
@ 2023-02-13  8:12 ` Jan Beulich
  2023-02-13  8:12 ` [PATCH 2/2] Arm64/gas: drop redundant feature prereqs Jan Beulich
  2023-02-24 12:55 ` Ping: [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
  2 siblings, 0 replies; 5+ messages in thread
From: Jan Beulich @ 2023-02-13  8:12 UTC (permalink / raw)
  To: Binutils; +Cc: Richard Earnshaw, Marcus Shawcroft

A number of newer features are really SIMD or FP extensions, but don't
have this properly specified.

--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10124,17 +10124,17 @@ static const struct aarch64_option_cpu_v
   {"rcpc",		AARCH64_FEATURE (AARCH64_FEATURE_RCPC, 0),
 			AARCH64_ARCH_NONE},
   {"dotprod",		AARCH64_FEATURE (AARCH64_FEATURE_DOTPROD, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)},
   {"sha2",		AARCH64_FEATURE (AARCH64_FEATURE_SHA2, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_FP, 0)},
   {"sb",		AARCH64_FEATURE (AARCH64_FEATURE_SB, 0),
 			AARCH64_ARCH_NONE},
   {"predres",		AARCH64_FEATURE (AARCH64_FEATURE_PREDRES, 0),
 			AARCH64_ARCH_NONE},
   {"aes",		AARCH64_FEATURE (AARCH64_FEATURE_AES, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)},
   {"sm4",		AARCH64_FEATURE (AARCH64_FEATURE_SM4, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)},
   {"sha3",		AARCH64_FEATURE (AARCH64_FEATURE_SHA3, 0),
 			AARCH64_FEATURE (AARCH64_FEATURE_SHA2, 0)},
   {"rng",		AARCH64_FEATURE (AARCH64_FEATURE_RNG, 0),
@@ -10168,9 +10168,9 @@ static const struct aarch64_option_cpu_v
 					 | AARCH64_FEATURE_SVE2
 					 | AARCH64_FEATURE_BFLOAT16, 0)},
   {"bf16",		AARCH64_FEATURE (AARCH64_FEATURE_BFLOAT16, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_FP, 0)},
   {"i8mm",		AARCH64_FEATURE (AARCH64_FEATURE_I8MM, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)},
   {"f32mm",		AARCH64_FEATURE (AARCH64_FEATURE_F32MM, 0),
 			AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0)},
   {"f64mm",		AARCH64_FEATURE (AARCH64_FEATURE_F64MM, 0),


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] Arm64/gas: drop redundant feature prereqs
  2023-02-13  8:11 [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
  2023-02-13  8:12 ` [PATCH 1/2] Arm64/gas: add missing prereq features Jan Beulich
@ 2023-02-13  8:12 ` Jan Beulich
  2023-02-24 12:55 ` Ping: [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
  2 siblings, 0 replies; 5+ messages in thread
From: Jan Beulich @ 2023-02-13  8:12 UTC (permalink / raw)
  To: Binutils; +Cc: Richard Earnshaw, Marcus Shawcroft

Logic exists to deal with prereqs or prereqs, and in many cases
transitive prereqs are already not spelled out explicitly. Drop further
ones:
- FP is already a prereq to F16,
- SIMD and F16 are already prereqs to COMPNUM, and
- SVE2 and BFLOAT16 are already prereqs to SME.

--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10108,14 +10108,11 @@ static const struct aarch64_option_cpu_v
   {"fp16",		AARCH64_FEATURE (AARCH64_FEATURE_F16, 0),
 			AARCH64_FEATURE (AARCH64_FEATURE_FP, 0)},
   {"fp16fml",		AARCH64_FEATURE (AARCH64_FEATURE_F16_FML, 0),
-			AARCH64_FEATURE (AARCH64_FEATURE_FP
-					 | AARCH64_FEATURE_F16, 0)},
+			AARCH64_FEATURE (AARCH64_FEATURE_F16, 0)},
   {"profile",		AARCH64_FEATURE (AARCH64_FEATURE_PROFILE, 0),
 			AARCH64_ARCH_NONE},
   {"sve",		AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0),
-			AARCH64_FEATURE (AARCH64_FEATURE_F16
-					 | AARCH64_FEATURE_SIMD
-					 | AARCH64_FEATURE_COMPNUM, 0)},
+			AARCH64_FEATURE (AARCH64_FEATURE_COMPNUM, 0)},
   {"tme",		AARCH64_FEATURE (AARCH64_FEATURE_TME, 0),
 			AARCH64_ARCH_NONE},
   {"compnum",		AARCH64_FEATURE (AARCH64_FEATURE_COMPNUM, 0),
@@ -10160,13 +10157,9 @@ static const struct aarch64_option_cpu_v
 			AARCH64_FEATURE (AARCH64_FEATURE_SVE2
 					 | AARCH64_FEATURE_BFLOAT16, 0)},
   {"sme-f64",		AARCH64_FEATURE (AARCH64_FEATURE_SME_F64, 0),
-			AARCH64_FEATURE (AARCH64_FEATURE_SME
-					 | AARCH64_FEATURE_SVE2
-					 | AARCH64_FEATURE_BFLOAT16, 0)},
+			AARCH64_FEATURE (AARCH64_FEATURE_SME, 0)},
   {"sme-i64",		AARCH64_FEATURE (AARCH64_FEATURE_SME_I64, 0),
-			AARCH64_FEATURE (AARCH64_FEATURE_SME
-					 | AARCH64_FEATURE_SVE2
-					 | AARCH64_FEATURE_BFLOAT16, 0)},
+			AARCH64_FEATURE (AARCH64_FEATURE_SME, 0)},
   {"bf16",		AARCH64_FEATURE (AARCH64_FEATURE_BFLOAT16, 0),
 			AARCH64_FEATURE (AARCH64_FEATURE_FP, 0)},
   {"i8mm",		AARCH64_FEATURE (AARCH64_FEATURE_I8MM, 0),


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Ping: [PATCH 0/2] Arm64/gas: adjustments to features' prereqs
  2023-02-13  8:11 [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
  2023-02-13  8:12 ` [PATCH 1/2] Arm64/gas: add missing prereq features Jan Beulich
  2023-02-13  8:12 ` [PATCH 2/2] Arm64/gas: drop redundant feature prereqs Jan Beulich
@ 2023-02-24 12:55 ` Jan Beulich
  2023-03-10  9:58   ` Jan Beulich
  2 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2023-02-24 12:55 UTC (permalink / raw)
  To: Richard Earnshaw, Marcus Shawcroft; +Cc: Binutils

On 13.02.2023 09:11, Jan Beulich via Binutils wrote:
> There are both missing and redundant ones, the former being a bug
> while the latter being merely inconsistent.
> 
> 1: add missing prereq features
> 2: drop redundant feature prereqs

Aarch64 maintainers - any opinion?

Thanks, Jan


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Ping: [PATCH 0/2] Arm64/gas: adjustments to features' prereqs
  2023-02-24 12:55 ` Ping: [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
@ 2023-03-10  9:58   ` Jan Beulich
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Beulich @ 2023-03-10  9:58 UTC (permalink / raw)
  To: Richard Earnshaw, Marcus Shawcroft; +Cc: Binutils

On 24.02.2023 13:55, Jan Beulich via Binutils wrote:
> On 13.02.2023 09:11, Jan Beulich via Binutils wrote:
>> There are both missing and redundant ones, the former being a bug
>> while the latter being merely inconsistent.
>>
>> 1: add missing prereq features
>> 2: drop redundant feature prereqs
> 
> Aarch64 maintainers - any opinion?

In the absence of feedback I guess I'm going to commit these then.
Apologies in advance in case I've overlooked anything.

Jan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-03-10  9:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-13  8:11 [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
2023-02-13  8:12 ` [PATCH 1/2] Arm64/gas: add missing prereq features Jan Beulich
2023-02-13  8:12 ` [PATCH 2/2] Arm64/gas: drop redundant feature prereqs Jan Beulich
2023-02-24 12:55 ` Ping: [PATCH 0/2] Arm64/gas: adjustments to features' prereqs Jan Beulich
2023-03-10  9:58   ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).