On Tue, Aug 24, 2021 at 4:57 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > On Sun, Aug 15, 2021 at 11:11 PM Richard Biener > <richard.guent...@gmail.com> wrote: > > > > On Fri, Aug 13, 2021 at 3:51 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > > > <x86gprintrin.h> and target("general-regs-only") function attribute > > > were added to GCC 11. But their implementations are incomplete. I'd > > > like to backport the following patches to GCC 11 branch to finish them. > > > > Fine with me if x86 maintainers do not disagree (also see one comment I have > > on the -mwait adding patch). > > Hi Uros, Honza, > > Do you have any comments? The updated -mwait patch with LTO_minor_version > bump is at: > > https://gcc.gnu.org/pipermail/gcc-patches/2021-August/577471.html
I don't have any comments, but IIRC, approved changes can be backported from mainline to release branches without additional approval. Uros. > Thanks. > > H.J. > > > H.J. Lu (5): > > > x86: Add -mmwait for -mgeneral-regs-only > > > x86: Use crc32 target option for CRC32 intrinsics > > > x86: Remove OPTION_MASK_ISA_SSE4_2 from CRC32 _builtin functions > > > x86: Enable the GPR only instructions for -mgeneral-regs-only > > > <x86gprintrin.h>: Add pragma GCC target("general-regs-only") > > > > > > gcc/common/config/i386/i386-common.c | 45 ++- > > > gcc/config.gcc | 6 +- > > > gcc/config/i386/i386-builtin.def | 8 +- > > > gcc/config/i386/i386-builtins.c | 4 +- > > > gcc/config/i386/i386-c.c | 2 + > > > gcc/config/i386/i386-options.c | 12 + > > > gcc/config/i386/i386.c | 6 +- > > > gcc/config/i386/i386.h | 2 + > > > gcc/config/i386/i386.md | 4 +- > > > gcc/config/i386/i386.opt | 4 + > > > gcc/config/i386/ia32intrin.h | 42 ++- > > > gcc/config/i386/mwaitintrin.h | 52 +++ > > > gcc/config/i386/pmmintrin.h | 13 +- > > > gcc/config/i386/serializeintrin.h | 7 +- > > > gcc/config/i386/sse.md | 4 +- > > > gcc/config/i386/x86gprintrin.h | 13 + > > > gcc/doc/extend.texi | 5 + > > > gcc/doc/invoke.texi | 8 +- > > > gcc/testsuite/gcc.target/i386/crc32-6.c | 13 + > > > gcc/testsuite/gcc.target/i386/monitor-2.c | 27 ++ > > > gcc/testsuite/gcc.target/i386/pr101492-1.c | 10 + > > > gcc/testsuite/gcc.target/i386/pr101492-2.c | 10 + > > > gcc/testsuite/gcc.target/i386/pr101492-3.c | 10 + > > > gcc/testsuite/gcc.target/i386/pr101492-4.c | 12 + > > > gcc/testsuite/gcc.target/i386/pr99744-3.c | 13 + > > > gcc/testsuite/gcc.target/i386/pr99744-4.c | 357 +++++++++++++++++++++ > > > gcc/testsuite/gcc.target/i386/pr99744-5.c | 25 ++ > > > gcc/testsuite/gcc.target/i386/pr99744-6.c | 23 ++ > > > gcc/testsuite/gcc.target/i386/pr99744-7.c | 12 + > > > gcc/testsuite/gcc.target/i386/pr99744-8.c | 13 + > > > 30 files changed, 717 insertions(+), 45 deletions(-) > > > create mode 100644 gcc/config/i386/mwaitintrin.h > > > create mode 100644 gcc/testsuite/gcc.target/i386/crc32-6.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/monitor-2.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr101492-1.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr101492-2.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr101492-3.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr101492-4.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr99744-3.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr99744-4.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr99744-5.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr99744-6.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr99744-7.c > > > create mode 100644 gcc/testsuite/gcc.target/i386/pr99744-8.c > > > > > > -- > > > 2.31.1 > > > > > > > -- > H.J.