* Zhao Liu: >> Please just make the new leaf have constant values based on just >> APX_F. We'll add the optional NCI/NDD/NF support if needed, i.e. >> never. :) > > Maybe not never? > >> > Note, APX_NCI_NDD_NF is documented as always enabled for Intel >> > processors since APX spec (revision v7.0). Now any Intel processor >> > that enumerates support for APX_F (CPUID.(EAX=0x7, ECX=1).EDX[21]) >> > will also enumerate support for APX_NCI_NDD_NF. > > This sentence (from APX spec rev.7) emphasizes the “Intel” vendor, > and its primary goal was to address and explain compatibility concern > for pre-enabling work based on APX spec v6. Prior to v7, APX included > NCI_NDD_NF by default, but this feature has now been separated from > basic APX and requires explicit checking CPUID bit. > > x86 ecosystem advisory group has aligned on APX so it may be possible > for other x86 vendors to implement APX without NCI_NDD_NF and this still > match with the APX spec.
Well yes, but I doubt that the ecosystem will produce binaries specialized for APX *without* NDD. It's fine to enumerate it separately, but that doesn't have any immediate consequences. GCC makes it rather hard to build for APX without NDD, for example. At least more difficult than building for AVX-512F without AVX-512VL. I just don't think software vendors are enthusiastic about having to create and support not one, but two builds for APX. If NDD is optional in practice, it will not be possible to use it except for run-time generated code and perhaps very targeted optimizations because that single extra APX will just not use NDD. I feel like there has been a misunderstanding somewhere. (sorry for off-topic) Thanks, Florian
