[gas,aarch64] Turn on SVE when using f32mm or f64mm extensions

Message ID AM6PR08MB43263A2C789809B41F58EF76E0350@AM6PR08MB4326.eurprd08.prod.outlook.com
State New
Headers show
Series
  • [gas,aarch64] Turn on SVE when using f32mm or f64mm extensions
Related show

Commit Message

Matthew Malcomson Jan. 13, 2020, 11:31 a.m.
There are no instructions under these matrix multiply extensions that
can be used without having SVE enabled.
Since these extensions require SVE, we make that explicit in the options
table.

Tested on aarch64-none-elf without regressions.

gas/ChangeLog:

2020-01-13  Matthew Malcomson  <matthew.malcomson@arm.com>

	* config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
	dependency.



###############     Attachment also inlined for ease of reply    ###############
                Inline version does not contain generated files
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 8fa8657afcda44983dd21a7aea0b986904f62d6a..4f9c6030c560841527d007429ef1f11bac02330a 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -9063,9 +9063,9 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
   {"i8mm",		AARCH64_FEATURE (AARCH64_FEATURE_I8MM, 0),
 			AARCH64_ARCH_NONE},
   {"f32mm",		AARCH64_FEATURE (AARCH64_FEATURE_F32MM, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0)},
   {"f64mm",		AARCH64_FEATURE (AARCH64_FEATURE_F64MM, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0)},
   {NULL,		AARCH64_ARCH_NONE, AARCH64_ARCH_NONE},
 };

Comments

Nick Clifton Jan. 13, 2020, 3:23 p.m. | #1
Hi Matthew,

> 2020-01-13  Matthew Malcomson  <matthew.malcomson@arm.com>

> 

> 	* config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature

> 	dependency.


Approved - please apply.

Cheers
  Nick

Patch

diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 8fa8657afcda44983dd21a7aea0b986904f62d6a..4f9c6030c560841527d007429ef1f11bac02330a 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -9063,9 +9063,9 @@  static const struct aarch64_option_cpu_value_table aarch64_features[] = {
   {"i8mm",		AARCH64_FEATURE (AARCH64_FEATURE_I8MM, 0),
 			AARCH64_ARCH_NONE},
   {"f32mm",		AARCH64_FEATURE (AARCH64_FEATURE_F32MM, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0)},
   {"f64mm",		AARCH64_FEATURE (AARCH64_FEATURE_F64MM, 0),
-			AARCH64_ARCH_NONE},
+			AARCH64_FEATURE (AARCH64_FEATURE_SVE, 0)},
   {NULL,		AARCH64_ARCH_NONE, AARCH64_ARCH_NONE},
 };