From: Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de> * use lexicographical ordering, as "gcc -march=foo" does * add armv6k, armv6z, arm6zk * remove ep9312, it is only valid for -mcpu * add armv6s-m and document it, as it is no official ARM name.
Support for the OS extension/SVC is mandatory, non-supporting implementations are deprecated (ARMv6-M Architecture Reference Manual, B.2) --- gcc/doc/invoke.texi | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 9e92133..6942b83 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -14041,15 +14041,22 @@ name to determine what kind of instructions it can emit when generating assembly code. This option can be used in conjunction with or instead of the @option{-mcpu=} option. Permissible names are: @samp{armv2}, @samp{armv2a}, @samp{armv3}, @samp{armv3m}, @samp{armv4}, @samp{armv4t}, -@samp{armv5}, @samp{armv5t}, @samp{armv5e}, @samp{armv5te}, -@samp{armv6}, @samp{armv6j}, -@samp{armv6t2}, @samp{armv6z}, @samp{armv6kz}, @samp{armv6-m}, -@samp{armv7}, @samp{armv7-a}, @samp{armv7-r}, @samp{armv7-m}, @samp{armv7e-m}, +@samp{armv5}, @samp{armv5e}, @samp{armv5t}, @samp{armv5te}, +@samp{armv6}, @samp{armv6-m}, @samp{armv6j}, @samp{armv6k}, +@samp{armv6kz}, @samp{armv6s-m}, +@samp{armv6t2}, @samp{armv6z}, @samp{armv6zk}, +@samp{armv7}, @samp{armv7-a}, @samp{armv7-m}, @samp{armv7-r}, @samp{armv7e-m}, @samp{armv7ve}, @samp{armv8-a}, @samp{armv8-a+crc}, @samp{armv8.1-a}, -@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}. +@samp{armv8.1-a+crc}, @samp{iwmmxt}, @samp{iwmmxt2}. Architecture revisions older than @option{armv4t} are deprecated. +@option{-march=armv6s-m} is the armv6-m architecture with support for +the (now mandatory) SVC instruction. + +@option{-march=armv6zk} is an alias for armv6kz, existing for backwards +compatibility. + @option{-march=armv7ve} is the armv7-a architecture with virtualization extensions. -- 2.8.2