[Bug other/97585] New: Improve documentation for -march=x86-64 to say MMX, SSE, SSE2 are implied

max at quendi dot de gcc-bugzilla@gcc.gnu.org
Tue Oct 27 00:26:39 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97585

            Bug ID: 97585
           Summary: Improve documentation for -march=x86-64 to say MMX,
                    SSE, SSE2 are implied
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: max at quendi dot de
  Target Milestone: ---

The documentation at https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html is
pretty good when it comes to indicating which instruction set extensions are
supported by which `march` value.

But -march=x86-64 is an exception: It just states "A generic CPU with 64-bit
extensions." but does not make it clear that this implies MMX, SSE, SSE2
(according to the content of gcc/common/config/i386/i386-common.c). This is
only mentioned (as far as I could tell) in one place, indirectly, in the
documentation for -mfpmath where it says:

> For the x86-32 compiler, you must use -march=cpu-type, -msse or -msse2 switches to enable SSE extensions and make this option effective. For the x86-64 compiler, these extensions are enabled by default.

I suggest to change 

> A generic CPU with 64-bit extensions.

to something like this, matching the phrasing of other architectures like
pentium4, nocona etc.:

> A generic CPU with 64-bit extensions, MMX, SSE and SSE2 instruction set support.


More information about the Gcc-bugs mailing list