[v2,0/1] Support for FMV in C front end.

Message ID 20241024125448.4426-1-alfie.richards@arm.com
Headers
Series Support for FMV in C front end. |

Message

Alfie Richards Oct. 24, 2024, 12:54 p.m. UTC
  From: Alfie Richards <alfie.richards@arm.com>

This update serves to provide a minor cleanup and to CC in relevant
maintainers.

Additionally, I looked into the behavior of FMV on x86 with this patch
and found the assembly looks reasonable, however the assembler produces an
error for duplicate definitons so have left this for disucssion.

Alfie Richards (1):
  C: Support Function multiversionsing in the C front end

 gcc/c-family/c-gimplify.cc                    | 11 ++++
 gcc/c/c-decl.cc                               | 63 ++++++++++++++++++-
 gcc/calls.cc                                  | 23 +++++++
 gcc/calls.h                                   |  1 +
 .../g++.target/aarch64/mv-symbols6.C          | 16 +++++
 gcc/testsuite/gcc.target/aarch64/mv-1.c       | 39 ++++++++++++
 .../gcc.target/aarch64/mv-symbols1.c          | 37 +++++++++++
 .../gcc.target/aarch64/mv-symbols2.c          | 28 +++++++++
 .../gcc.target/aarch64/mv-symbols3.c          | 26 ++++++++
 .../gcc.target/aarch64/mv-symbols4.c          | 29 +++++++++
 .../gcc.target/aarch64/mv-symbols5.c          | 35 +++++++++++
 .../gcc.target/aarch64/mv-symbols6.c          | 17 +++++
 .../gcc.target/aarch64/mvc-symbols1.c         | 25 ++++++++
 .../gcc.target/aarch64/mvc-symbols2.c         | 16 +++++
 .../gcc.target/aarch64/mvc-symbols3.c         | 19 ++++++
 .../gcc.target/aarch64/mvc-symbols4.c         | 12 ++++
 16 files changed, 396 insertions(+), 1 deletion(-)
 create mode 100644 gcc/testsuite/g++.target/aarch64/mv-symbols6.C
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-1.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-symbols1.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-symbols2.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-symbols3.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-symbols4.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-symbols5.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mv-symbols6.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mvc-symbols1.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mvc-symbols2.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mvc-symbols3.c
 create mode 100644 gcc/testsuite/gcc.target/aarch64/mvc-symbols4.c