Hi,

This is v2 of the patchset, rebased on top of master with the
math files split into subdirectories.


Martin Storsjö (18):
  setjmp.h: Add a fallback definition for unsupported architectures
  crt: Add initial support for arm64 in mingw-w64-crt
    Makefile.am/configure.ac
  crt: Add an initial libarm64 directory with def files
  headers: Detection of arm64 in some main locations
  headers: Skip the inline interlocked functions for arm64 (as on all
    other non-i386 archs)
  fenv: Add arm64 specific codepaths in fenv functions, add arm64 fenv.h
    header section
  math: Use the same generic codepaths for arm64 as for arm
  math: Add arm64 specific implementations of math functions
  math: Implement the exp2() wrappers using assembly on arm64
  stdio: Add arm64 assembly wrappers for the v*scanf functions
  intrin-impl.h: Include compiler builtins based parts on arm64 as well
  intrin-impl.h: Add arm64 functions corresponding to the arm ones
  crtexe: Skip __initenv on arm64 just as on arm
  crt: Change a check for _WIN64 into __x86_64__ in an assembly file
  crt: Change checks for _WIN64 into __x86_64__ around exception
    handling
  winnt.h: Add arm64 specific handling of TEB
  winnt.h: Add empty definition of arch specific structs for arm64
  crt: Disable win64 unwinding on arm64

 mingw-w64-crt/Makefile.am                          |  256 +++++
 mingw-w64-crt/configure.ac                         |   21 +
 mingw-w64-crt/crt/CRT_fp10.c                       |    3 +
 mingw-w64-crt/crt/crt_handler.c                    |    2 +-
 mingw-w64-crt/crt/crtdll.c                         |    2 +-
 mingw-w64-crt/crt/crtexe.c                         |    6 +-
 mingw-w64-crt/crt/gs_support.c                     |    2 +-
 mingw-w64-crt/libarm64/Makefile.am                 | 1164 ++++++++++++++++++++
 mingw-w64-crt/{libarm32 => libarm64}/*.def         |    0
 mingw-w64-crt/math/{arm => arm64}/_chgsignl.S      |    6 +-
 .../{stdio/vsscanf2.S => math/arm64/ceil.S}        |   12 +-
 .../{stdio/vsscanf2.S => math/arm64/ceilf.S}       |   12 +-
 .../{stdio/vsscanf2.S => math/arm64/ceill.S}       |   13 +-
 mingw-w64-crt/math/{arm => arm64}/copysignl.c      |    0
 mingw-w64-crt/math/arm64/exp2.S                    |   19 +
 .../math/{arm/_chgsignl.S => arm64/exp2f.S}        |   16 +-
 .../{stdio/vsscanf2.S => math/arm64/floor.S}       |   13 +-
 .../math/{arm/_chgsignl.S => arm64/floorf.S}       |   17 +-
 .../{stdio/vsscanf2.S => math/arm64/floorl.S}      |   13 +-
 mingw-w64-crt/math/arm64/log2.c                    |   26 +
 mingw-w64-crt/math/{arm => arm64}/nearbyint.S      |   18 +-
 mingw-w64-crt/math/{arm => arm64}/nearbyintf.S     |   18 +-
 mingw-w64-crt/math/{arm => arm64}/nearbyintl.S     |   18 +-
 mingw-w64-crt/math/arm64/scalbn.c                  |   26 +
 mingw-w64-crt/math/{arm => arm64}/sincos.c         |    2 +-
 .../math/{arm/_chgsignl.S => arm64/trunc.S}        |   16 +-
 mingw-w64-crt/math/{arm => arm64}/truncf.S         |   18 +-
 mingw-w64-crt/math/cephes_mconf.h                  |    4 +-
 mingw-w64-crt/math/fabs.c                          |    4 +-
 mingw-w64-crt/math/fabsf.c                         |    4 +-
 mingw-w64-crt/math/fabsl.c                         |    2 +-
 mingw-w64-crt/math/fma.c                           |   12 +
 mingw-w64-crt/math/fmaf.c                          |   12 +
 mingw-w64-crt/math/fmal.c                          |    2 +-
 mingw-w64-crt/math/fpclassifyf.c                   |    2 +-
 mingw-w64-crt/math/fpclassifyl.c                   |    2 +-
 mingw-w64-crt/math/isnan.c                         |    2 +-
 mingw-w64-crt/math/isnanf.c                        |    2 +-
 mingw-w64-crt/math/isnanl.c                        |    2 +-
 mingw-w64-crt/math/lgammal.c                       |    4 +-
 mingw-w64-crt/math/lrint.c                         |    5 +
 mingw-w64-crt/math/lrintf.c                        |    5 +
 mingw-w64-crt/math/lrintl.c                        |    2 +-
 mingw-w64-crt/math/rint.c                          |    2 +
 mingw-w64-crt/math/rintf.c                         |    2 +
 mingw-w64-crt/math/rintl.c                         |    2 +-
 mingw-w64-crt/math/signbit.c                       |    2 +-
 mingw-w64-crt/math/signbitf.c                      |    2 +-
 mingw-w64-crt/math/signbitl.c                      |    2 +-
 mingw-w64-crt/math/sqrt.def.h                      |    6 +
 mingw-w64-crt/math/truncl.c                        |    4 +-
 mingw-w64-crt/misc/feclearexcept.c                 |   12 +-
 mingw-w64-crt/misc/fegetenv.c                      |   10 +-
 mingw-w64-crt/misc/fegetexceptflag.c               |   10 +-
 mingw-w64-crt/misc/fegetround.c                    |    6 +-
 mingw-w64-crt/misc/feholdexcept.c                  |    8 +-
 mingw-w64-crt/misc/feraiseexcept.c                 |    8 +-
 mingw-w64-crt/misc/fesetenv.c                      |   14 +-
 mingw-w64-crt/misc/fesetexceptflag.c               |   13 +-
 mingw-w64-crt/misc/fesetround.c                    |   14 +-
 mingw-w64-crt/misc/fetestexcept.c                  |   10 +-
 mingw-w64-crt/stdio/scanf.S                        |   32 +
 mingw-w64-crt/stdio/scanf2-template.S              |    8 +-
 mingw-w64-crt/stdio/vfscanf.c                      |    3 +-
 mingw-w64-crt/stdio/vfwscanf.c                     |    3 +-
 mingw-w64-crt/stdio/vsscanf.c                      |    3 +-
 mingw-w64-crt/stdio/vswscanf.c                     |    3 +-
 mingw-w64-headers/crt/fenv.h                       |   16 +-
 mingw-w64-headers/crt/malloc.h                     |    2 +-
 mingw-w64-headers/crt/math.h                       |   30 +-
 mingw-w64-headers/crt/setjmp.h                     |    5 +
 mingw-w64-headers/include/interlockedapi.h         |    2 +-
 mingw-w64-headers/include/psdk_inc/intrin-impl.h   |  149 ++-
 mingw-w64-headers/include/winnt.h                  |  129 ++-
 1246 files changed, 2114 insertions(+), 192 deletions(-)
 create mode 100644 mingw-w64-crt/libarm64/Makefile.am
 copy mingw-w64-crt/{libarm32 => libarm64}/*.def (100%)
 copy mingw-w64-crt/math/{arm => arm64}/_chgsignl.S (92%)
 copy mingw-w64-crt/{stdio/vsscanf2.S => math/arm64/ceil.S} (60%)
 copy mingw-w64-crt/{stdio/vsscanf2.S => math/arm64/ceilf.S} (59%)
 copy mingw-w64-crt/{stdio/vsscanf2.S => math/arm64/ceill.S} (59%)
 copy mingw-w64-crt/math/{arm => arm64}/copysignl.c (100%)
 create mode 100644 mingw-w64-crt/math/arm64/exp2.S
 copy mingw-w64-crt/math/{arm/_chgsignl.S => arm64/exp2f.S} (58%)
 copy mingw-w64-crt/{stdio/vsscanf2.S => math/arm64/floor.S} (59%)
 copy mingw-w64-crt/math/{arm/_chgsignl.S => arm64/floorf.S} (52%)
 copy mingw-w64-crt/{stdio/vsscanf2.S => math/arm64/floorl.S} (58%)
 create mode 100644 mingw-w64-crt/math/arm64/log2.c
 copy mingw-w64-crt/math/{arm => arm64}/nearbyint.S (60%)
 copy mingw-w64-crt/math/{arm => arm64}/nearbyintf.S (60%)
 copy mingw-w64-crt/math/{arm => arm64}/nearbyintl.S (60%)
 create mode 100644 mingw-w64-crt/math/arm64/scalbn.c
 copy mingw-w64-crt/math/{arm => arm64}/sincos.c (93%)
 copy mingw-w64-crt/math/{arm/_chgsignl.S => arm64/trunc.S} (57%)
 copy mingw-w64-crt/math/{arm => arm64}/truncf.S (55%)

-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to