This series of patches takes the first 2 patches from the dense math patches to add the support for -mcpu=future.
If these patches are approved, I will re-base the rest of the dense math patches off of these patches. While patch #1 of the series was fairly self contained, in that it added the basic support for -mcpu=future, I have split that patch into 6 patches. I have included the 2nd patch (enable using load vector pair and store vector pair for memcpy) as patch #7 in this series. Note, you need patches 1-5 at least to be installed to enable using -mcpu=future. Patch #1 adds the -mcpu=future option. I added a new ISA bit to make things like target attribute or target pragmas correctly enable or disable -mcpu=future support. Because you have to have a switch to create the ISA bits, I added -mfuture, but I added a warning if the user used this option directly. Patch #2 adds support to print out that future is used with -mdebug=reg. Patch #3 defines _ARCH_PWR_FUTURE if -mcpu=future is used. Patch #4 passes -mfuture to the assembler if -mcpu=future is used. Patch #5 turns the tuning for -mcpu=future into -mtune=power10. It is likely that we will need to flesh out the future tuning support if/when the future machine becomes a real PowerPC. Patch #6 emits the .machine future option to the assembler if -mcpu=future is used (or target attribute/pragma are used). Patch #7 enables generating load vector pair or store vector pair instruction for memcpy and similar functions if -mcpu=future was used. Late in the power10 development, we decided to not generate load vector pair and store vector pair instructures due to some interactions that those instructions caused in some cases. I have tested these patches on both little endian and big endian systems, and there were no regressions. Even though these patches have been posted for 1.5 years now, I assume they have to wait for GCC 15. But I will immediately want to back port these to GCC 14.1 after they go into GCC 15. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meiss...@linux.ibm.com