The patch documents -mprefer-vector-width which is a valid target 
attribute/pragma.

Ready for master?
Thanks,
Martin

gcc/ChangeLog:

        * doc/extend.texi: Mention -mprefer-vector-width in target
        attributes.

gcc/testsuite/ChangeLog:

        * gcc.target/i386/prefer-vector-width-attr.c: New test.
---
 gcc/doc/extend.texi                           | 22 +++++++++++++++++++
 .../i386/prefer-vector-width-attr.c           | 11 ++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/i386/prefer-vector-width-attr.c

diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 8daa1c67974..a14875cec37 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -7020,6 +7020,28 @@ On x86 targets, the @code{fentry_section} attribute sets 
the name
 of the section to record function entry instrumentation calls in when
 enabled with @option{-pg -mrecord-mcount}
+@item prefer-vector-width=@var{OPT}
+@cindex @code{prefer-vector-width} function attribute, x86
+On x86 targets, the @code{prefer-vector-width} attribute inform the
+compiler to use @var{OPT}-bit vector width in instructions
+instead of default on the selected platform.
+
+Valid @var{OPT} values are:
+
+@table @samp
+@item none
+No extra limitations applied to GCC other than defined by the selected 
platform.
+
+@item 128
+Prefer 128-bit vector width for instructions.
+
+@item 256
+Prefer 256-bit vector width for instructions.
+
+@item 512
+Prefer 512-bit vector width for instructions.
+@end table
+
 @end table
On the x86, the inliner does not inline a
diff --git a/gcc/testsuite/gcc.target/i386/prefer-vector-width-attr.c 
b/gcc/testsuite/gcc.target/i386/prefer-vector-width-attr.c
new file mode 100644
index 00000000000..3929f909a44
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/prefer-vector-width-attr.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+
+#pragma GCC push_options
+#pragma GCC target("prefer-vector-width=512")
+
+int
+__attribute__((target("prefer-vector-width=none")))
+main()
+{
+  return 0;
+}
--
2.30.0

Reply via email to