DavidSpickett added a comment.

> Sure, we can have an AArch64 specific section. I have no AArch64/arm 
> background to comment on what the lists should look like. Could you provide a 
> pointer on how to decide what should be AArch64 specific? Thank you!

I looked through the list and here's what goes where:

arm_acle.h - both
arm_cmse.h - Arm only (CMSE is an M profile feature)
armintr.h - Arm only (Windows intrinsics)
arm64intr.h - AArch64 only (Windows intrinsics)

arm_neon.h - both
arm_fp16.h - both

Only includes AArch64 stuff at this time but according to the docs:

  FEAT_FP16 supports:
  • Half-precision data-processing instructions for Advanced SIMD and 
floating-point in both
  AArch64 and AArch32 states.

arm_sve.h - AArch64 (SVE is AArch64 exclusive)
arm_bf16.h - AArch64 only

  "FEAT_BF16 supports the BFloat16, or BF16, 16-bit floating-point storage 
format in AArch64 state." 

arm_mve.h - Arm only (MVE is an M profile feature)
arm_cde.h - Arm only (CDE is an M profile feature)
arm_neon_sve_bridge.h - AArch64 only (SVE is AArch64 exclusive)

@momchil.velikov Please double check I got that right.

So you'd probably want to have an `arm_common`, like you have for the `core`. 
Arm installs `arm_common` and `arm`, AArch64 installs `arm_common` and 
`aarch64`.

Not sure if you'd expect the Windows intrisics files to show up in the 
`windows` headers. My guess is no because you'd configure with Windows and Arm, 
or Windows and AArch64 headers. `windows` would just be arch agnostic stuff.

This split reduces each install by 4 headers. So hardly amazing disk space wise 
but I think your goal is more to only have relevant files and this achieves 
that.

> Then again a lot of Arm systems can run 32 bit code as well so there is a 
> situation where you might include both.

I would guess that having two install targets makes it obvious that if you want 
32 bit code you need to opt into both. (though I am biased since I'm already 
familiar with Arm)

Also, what's the feedback mechanism for issues with these listings? Say we add 
a new Arm header but forget to put it on these lists, who would be the first to 
notice? (I admit I'm not very familiar with the process of distributions)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123498/new/

https://reviews.llvm.org/D123498

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to