public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-3363] Explicitly add -msse2 to compile HF related libgcc source file.
@ 2021-09-06  7:13 hongtao Liu
  0 siblings, 0 replies; only message in thread
From: hongtao Liu @ 2021-09-06  7:13 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:637dfcf43cfd2f01f4757abfd84d376d4011b0b2

commit r12-3363-g637dfcf43cfd2f01f4757abfd84d376d4011b0b2
Author: liuhongt <hongtao.liu@intel.com>
Date:   Fri Sep 3 13:06:57 2021 +0800

    Explicitly add -msse2 to compile HF related libgcc source file.
    
    For 32-bit libgcc configure w/o sse2, there's would be an error since
    GCC only support _Float16 under sse2. Explicitly add -msse2 for those
    HF related libgcc functions, so users can still link them w/ the
    upper configuration.
    
    libgcc/ChangeLog:
    
            * Makefile.in: Adjust to support specific CFLAGS for each
            libgcc source file.
            * config/i386/64/t-softfp: Explicitly add -msse2 for HF
            related libgcc source files.
            * config/i386/t-softfp: Ditto.
            * config/i386/_divhc3.c: New file.
            * config/i386/_mulhc3.c: New file.

Diff:
---
 libgcc/Makefile.in             |  2 +-
 libgcc/config/i386/64/t-softfp |  5 +++++
 libgcc/config/i386/_divhc3.c   |  4 ++++
 libgcc/config/i386/_mulhc3.c   |  4 ++++
 libgcc/config/i386/t-softfp    | 22 +++++++++++++++++++++-
 5 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 7ec97584554..32e329f7764 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -314,7 +314,7 @@ MULTIOSSUBDIR := $(shell if test $(MULTIOSDIR) != .; then echo /$(MULTIOSDIR); f
 inst_libdir = $(libsubdir)$(MULTISUBDIR)
 inst_slibdir = $(slibdir)$(MULTIOSSUBDIR)
 
-gcc_compile_bare = $(CC) $(INTERNAL_CFLAGS)
+gcc_compile_bare = $(CC) $(INTERNAL_CFLAGS) $(CFLAGS-$(<F))
 compile_deps = -MT $@ -MD -MP -MF $(basename $@).dep
 gcc_compile = $(gcc_compile_bare) -o $@ $(compile_deps)
 gcc_s_compile = $(gcc_compile) -DSHARED
diff --git a/libgcc/config/i386/64/t-softfp b/libgcc/config/i386/64/t-softfp
index f9d8b3a945c..3bec464d786 100644
--- a/libgcc/config/i386/64/t-softfp
+++ b/libgcc/config/i386/64/t-softfp
@@ -1 +1,6 @@
 softfp_extras := fixhfti fixunshfti floattihf floatuntihf
+
+CFLAGS-fixhfti.c += -msse2
+CFLAGS-fixunshfti.c += -msse2
+CFLAGS-floattihf.c += -msse2
+CFLAGS-floatunstihf.c += -msse2
diff --git a/libgcc/config/i386/_divhc3.c b/libgcc/config/i386/_divhc3.c
new file mode 100644
index 00000000000..4cf92aa23d9
--- /dev/null
+++ b/libgcc/config/i386/_divhc3.c
@@ -0,0 +1,4 @@
+#ifdef __SSE2__
+#define L_divhc3
+#include "libgcc2.c"
+#endif
diff --git a/libgcc/config/i386/_mulhc3.c b/libgcc/config/i386/_mulhc3.c
new file mode 100644
index 00000000000..85a8a2f5fb7
--- /dev/null
+++ b/libgcc/config/i386/_mulhc3.c
@@ -0,0 +1,4 @@
+#ifdef __SSE2__
+#define L_mulhc3
+#include "libgcc2.c"
+#endif
diff --git a/libgcc/config/i386/t-softfp b/libgcc/config/i386/t-softfp
index 4ac214eb0ce..2363ea17194 100644
--- a/libgcc/config/i386/t-softfp
+++ b/libgcc/config/i386/t-softfp
@@ -1,6 +1,26 @@
 LIB2ADD += $(srcdir)/config/i386/sfp-exceptions.c
 
+# Replace _divhc3 and _mulhc3.
+libgcc2-hf-functions = _divhc3 _mulhc3
+LIB2FUNCS_EXCLUDE += $(libgcc2-hf-functions)
+libgcc2-hf-extras = $(addsuffix .c, $(libgcc2-hf-functions))
+LIB2ADD_ST += $(addprefix $(srcdir)/config/i386/, $(libgcc2-hf-extras))
+
 softfp_extensions := hfsf hfdf hftf hfxf sfdf sftf dftf xftf
 softfp_truncations := tfhf xfhf dfhf sfhf tfsf dfsf tfdf tfxf
 
-softfp_extras += eqhf2
\ No newline at end of file
+softfp_extras += eqhf2
+
+CFLAGS-extendhfsf2.c += -msse2
+CFLAGS-extendhfdf2.c += -msse2
+CFLAGS-extendhftf2.c += -msse2
+CFLAGS-extendhfxf2.c += -msse2
+
+CFLAGS-truncsfhf2.c += -msse2
+CFLAGS-truncdfhf2.c += -msse2
+CFLAGS-truncxfhf2.c += -msse2
+CFLAGS-trunctfhf2.c += -msse2
+
+CFLAGS-eqhf2.c += -msse2
+CFLAGS-_divhc3.c += -msse2
+CFLAGS-_mulhc3.c += -msse2


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-06  7:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-06  7:13 [gcc r12-3363] Explicitly add -msse2 to compile HF related libgcc source file hongtao Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).