For ABI change proposal, I'd suggest to raise a discussion in x86-64-abi group. 

Thx,
Annita

> -----Original Message-----
> From: Jiang, Haochen <[email protected]>
> Sent: Thursday, August 10, 2023 10:15 PM
> To: Beulich, Jan <[email protected]>; Phoebe Wang
> <[email protected]>
> Cc: Joseph Myers <[email protected]>; Wang, Phoebe
> <[email protected]>; Hongtao Liu <[email protected]>; gcc-
> [email protected]; [email protected]; Liu, Hongtao
> <[email protected]>; Zhang, Annita <[email protected]>; x86-64-
> abi <[email protected]>; llvm-dev <[email protected]>;
> Craig Topper <[email protected]>; Richard Biener
> <[email protected]>
> Subject: RE: Intel AVX10.1 Compiler Design and Support
> 
> > -----Original Message-----
> > From: Jan Beulich <[email protected]>
> > Sent: Thursday, August 10, 2023 9:31 PM
> > To: Phoebe Wang <[email protected]>
> > Cc: Joseph Myers <[email protected]>; Wang, Phoebe
> > <[email protected]>; Hongtao Liu <[email protected]>; Jiang,
> > Haochen <[email protected]>; [email protected];
> > [email protected]; Liu, Hongtao <[email protected]>; Zhang, Annita
> > <[email protected]>; x86-64-abi <[email protected]>;
> > llvm-dev <llvm- [email protected]>; Craig Topper
> > <[email protected]>; Richard Biener <[email protected]>
> > Subject: Re: Intel AVX10.1 Compiler Design and Support
> >
> > On 10.08.2023 15:12, Phoebe Wang wrote:
> > >>  The psABI should have some simple rule covering all of the above I 
> > >> think.
> > >
> > > psABI has a rule for the case doesn't mean the rule is a well
> > > defined ABI in practice. A well defined ABI should guarantee 1)
> > > interlinkable across different compile options within the same
> > > compiler; 2) interlinkable across different compilers. Both aspects
> > > are failed in the non 512-
> > bit version.
> > >
> > > 1) is more important than 2) and becomes more critical on AVX10 targets.
> > > Because we expect AVX10-256 is a general setting for binaries that
> > > can run on both AVX10-256 and AVX10-512. It would be common that
> > > binaries compiled with AVX10-256 may link with native built binaries
> > > on AVX10-512
> > targets.
> 
> IMO it is not acceptable for AVX10-256 to generate zmm registers.
> 
> If I have to choose among the three proposal, the second is better.
> 
> But the best choice I suppose is to keep what we are doing currently, which is
> passing them in memory and emit a warning. It is a reasonable behavior.
> 
> Thx,
> Haochen
> 
> >
> > But you're only describing a pre-existing problem here afaict. Code
> > compiled with -mavx51f passing __m512 type data to a function compiled
> > with only, say, -maxv2 won't interoperate properly either. What's
> > worse, imo the psABI doesn't sufficiently define what __m256 etc
> > actually are. After all these aren't types defined by the C standard
> > (as opposed to at least most other types in the respective table
> > there), and you can't really make assumptions like "this is what certain
> compilers think this is".
> >
> > Jan

Reply via email to