https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
Richard Earnshaw changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #8 from Richard Earnshaw ---
The __ARM_ARCH_...__ macros turned out to be a very bad design decision. Each
new architecture needs a new macro that older compilers (and software) will not
know about. The ACLE approach is far more
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #7 from vedant ---
in ARM and IAR as well ARMv8.1-m vs ARMv8-m have different macros. it is needed
to maintain code compatibility in different build ecosystems. instead of
specifying -DXYZ everywhere
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #6 from Andrew Pinski ---
Also I noticed the ACLE is confusing for any of the -m profile stuff and mostly
just references the -a profile too.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #5 from Andrew Pinski ---
(In reply to vedant from comment #3)
> in arm compiler i have found __ARM_ARCH_8M_MAIN__ and __ARM_ARCH_8_1M_MAIN__
> for CM33 and CM55 respectively.
As far as I can tell those macros are not documented in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #4 from Andrew Pinski ---
Depending on the feature you are testing for, you could use some other macros.
e.g. __ARM_FEATURE_PAUTH, __ARM_FEATURE_BTI, __ARM_FEATURE_CMSE .
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #3 from vedant ---
in arm compiler i have found __ARM_ARCH_8M_MAIN__ and __ARM_ARCH_8_1M_MAIN__
for CM33 and CM55 respectively.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #2 from Andrew Pinski ---
https://github.com/ARM-software/acle Does not define one either ...
That is it does not define ARMv8.1-m vs ARMv8-m difference either ...
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109415
--- Comment #1 from Andrew Pinski ---
I don't see why there should be a define here? The command line will be
different between the two so you could just stick a -DXYZ somewhere or handle
it in a header file.