On Tue, Jul 18, 2023 at 7:50 PM Jiang, Haochen via Gcc <gcc@gcc.gnu.org> wrote:
>
> Hi all,
>
> As you all know that we are continuously working on new ISA implementation 
> for i386 backend.
>
> There is one thing that I am really curious about when I read the code.
>
> In gcc/config/i386/i386-cpuinfo.h, we have such comment:
>
> /* ISA Features supported. New features have to be inserted at the end.  */
>
> Why new features have to be inserted at the end? I did a quick investigation 
> and found that it was
> added at this mailing thread originally at libgcc/config/i386/cpuinfo.c:
>
> https://gcc.gnu.org/pipermail/gcc-patches/2015-September/428915.html
>
> In the thread, it seems that it might cause unwanted ABI change. Could anyone 
> kindly tell me something
> more about that? Should this rule still be kept for now after about eight 
> years since then?

YES we should keep it.
___builtin_cpu_supports uses those #s so the ABI is exposed to the
object level even if those #s are not exposed to the user directly
those are still exposed as an ABI that needs to be expandable that
way.

Thanks,
Andrew


>
> Thx,
> Haochen
>

Reply via email to