[GCC-11] [PATCH 0/5] Finish <x86gprintrin.h> and general-regs-only
Richard Biener
richard.guenther@gmail.com
Mon Aug 16 06:11:38 GMT 2021
On Fri, Aug 13, 2021 at 3:51 PM H.J. Lu <hjl.tools@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).
> 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
>
More information about the Gcc-patches
mailing list