mirror of git://gcc.gnu.org/git/gcc.git
Makefile.am: Remove intrinsics/bit_intrinsics.c.
* Makefile.am: Remove intrinsics/bit_intrinsics.c. * Makefile.in: Regenerate. * gfortran.map: Remove _gfortran_clz128 and _gfortran_ctz128. * intrinsics/bit_intrinsics.c: Remove. From-SVN: r243800
This commit is contained in:
parent
7e294024ad
commit
bed192f40a
|
|
@ -1,3 +1,10 @@
|
|||
2016-12-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||||
|
||||
* Makefile.am: Remove intrinsics/bit_intrinsics.c.
|
||||
* Makefile.in: Regenerate.
|
||||
* gfortran.map: Remove _gfortran_clz128 and _gfortran_ctz128.
|
||||
* intrinsics/bit_intrinsics.c: Remove.
|
||||
|
||||
2016-12-19 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
* Makefile.am: Remove exponent, fraction, nearest, rrspacing,
|
||||
|
|
|
|||
|
|
@ -114,7 +114,6 @@ gfor_helper_src= \
|
|||
intrinsics/associated.c \
|
||||
intrinsics/abort.c \
|
||||
intrinsics/args.c \
|
||||
intrinsics/bit_intrinsics.c \
|
||||
intrinsics/cshift0.c \
|
||||
intrinsics/eoshift0.c \
|
||||
intrinsics/eoshift2.c \
|
||||
|
|
|
|||
|
|
@ -324,15 +324,15 @@ am__objects_37 = size_from_kind.lo $(am__objects_36)
|
|||
@LIBGFOR_MINIMAL_FALSE@ system_clock.lo time.lo umask.lo \
|
||||
@LIBGFOR_MINIMAL_FALSE@ unlink.lo
|
||||
@IEEE_SUPPORT_TRUE@am__objects_39 = ieee_helper.lo
|
||||
am__objects_40 = associated.lo abort.lo args.lo bit_intrinsics.lo \
|
||||
cshift0.lo eoshift0.lo eoshift2.lo erfc_scaled.lo \
|
||||
extends_type_of.lo fnum.lo ierrno.lo ishftc.lo \
|
||||
iso_c_generated_procs.lo iso_c_binding.lo mvbits.lo \
|
||||
move_alloc.lo pack_generic.lo selected_char_kind.lo size.lo \
|
||||
spread_generic.lo string_intrinsics.lo rand.lo random.lo \
|
||||
reshape_generic.lo reshape_packed.lo selected_int_kind.lo \
|
||||
selected_real_kind.lo unpack_generic.lo in_pack_generic.lo \
|
||||
in_unpack_generic.lo $(am__objects_38) $(am__objects_39)
|
||||
am__objects_40 = associated.lo abort.lo args.lo cshift0.lo eoshift0.lo \
|
||||
eoshift2.lo erfc_scaled.lo extends_type_of.lo fnum.lo \
|
||||
ierrno.lo ishftc.lo iso_c_generated_procs.lo iso_c_binding.lo \
|
||||
mvbits.lo move_alloc.lo pack_generic.lo selected_char_kind.lo \
|
||||
size.lo spread_generic.lo string_intrinsics.lo rand.lo \
|
||||
random.lo reshape_generic.lo reshape_packed.lo \
|
||||
selected_int_kind.lo selected_real_kind.lo unpack_generic.lo \
|
||||
in_pack_generic.lo in_unpack_generic.lo $(am__objects_38) \
|
||||
$(am__objects_39)
|
||||
@IEEE_SUPPORT_TRUE@am__objects_41 = ieee_arithmetic.lo \
|
||||
@IEEE_SUPPORT_TRUE@ ieee_exceptions.lo ieee_features.lo
|
||||
am__objects_42 =
|
||||
|
|
@ -612,8 +612,7 @@ io/format.h \
|
|||
io/unix.h
|
||||
|
||||
gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
|
||||
intrinsics/args.c intrinsics/bit_intrinsics.c \
|
||||
intrinsics/cshift0.c intrinsics/eoshift0.c \
|
||||
intrinsics/args.c intrinsics/cshift0.c intrinsics/eoshift0.c \
|
||||
intrinsics/eoshift2.c intrinsics/erfc_scaled.c \
|
||||
intrinsics/extends_type_of.c intrinsics/fnum.c \
|
||||
intrinsics/ierrno.c intrinsics/ishftc.c \
|
||||
|
|
@ -1389,7 +1388,6 @@ distclean-compile:
|
|||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bessel_r16.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bessel_r4.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bessel_r8.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bit_intrinsics.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bounds.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c99_functions.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chdir.Plo@am__quote@
|
||||
|
|
@ -4903,13 +4901,6 @@ args.lo: intrinsics/args.c
|
|||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o args.lo `test -f 'intrinsics/args.c' || echo '$(srcdir)/'`intrinsics/args.c
|
||||
|
||||
bit_intrinsics.lo: intrinsics/bit_intrinsics.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bit_intrinsics.lo -MD -MP -MF $(DEPDIR)/bit_intrinsics.Tpo -c -o bit_intrinsics.lo `test -f 'intrinsics/bit_intrinsics.c' || echo '$(srcdir)/'`intrinsics/bit_intrinsics.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/bit_intrinsics.Tpo $(DEPDIR)/bit_intrinsics.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='intrinsics/bit_intrinsics.c' object='bit_intrinsics.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bit_intrinsics.lo `test -f 'intrinsics/bit_intrinsics.c' || echo '$(srcdir)/'`intrinsics/bit_intrinsics.c
|
||||
|
||||
cshift0.lo: intrinsics/cshift0.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cshift0.lo -MD -MP -MF $(DEPDIR)/cshift0.Tpo -c -o cshift0.lo `test -f 'intrinsics/cshift0.c' || echo '$(srcdir)/'`intrinsics/cshift0.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/cshift0.Tpo $(DEPDIR)/cshift0.Plo
|
||||
|
|
|
|||
|
|
@ -1055,8 +1055,6 @@ GFORTRAN_1.1 {
|
|||
|
||||
GFORTRAN_1.2 {
|
||||
global:
|
||||
_gfortran_clz128;
|
||||
_gfortran_ctz128;
|
||||
_gfortran_is_extension_of;
|
||||
} GFORTRAN_1.1;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,138 +0,0 @@
|
|||
/* Implementation of the bit intrinsics not implemented as GCC builtins.
|
||||
Copyright (C) 2009-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
|
||||
Libgfortran is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
Under Section 7 of GPL version 3, you are granted additional
|
||||
permissions described in the GCC Runtime Library Exception, version
|
||||
3.1, as published by the Free Software Foundation.
|
||||
|
||||
You should have received a copy of the GNU General Public License and
|
||||
a copy of the GCC Runtime Library Exception along with this program;
|
||||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libgfortran.h"
|
||||
|
||||
|
||||
#ifdef HAVE_GFC_INTEGER_16
|
||||
extern int clz128 (GFC_INTEGER_16);
|
||||
export_proto(clz128);
|
||||
|
||||
int
|
||||
clz128 (GFC_INTEGER_16 x)
|
||||
{
|
||||
int res = 127;
|
||||
|
||||
// We can't write 0xFFFFFFFFFFFFFFFF0000000000000000, so we work around it
|
||||
if (x & ((__uint128_t) 0xFFFFFFFFFFFFFFFF << 64))
|
||||
{
|
||||
res -= 64;
|
||||
x >>= 64;
|
||||
}
|
||||
|
||||
if (x & 0xFFFFFFFF00000000)
|
||||
{
|
||||
res -= 32;
|
||||
x >>= 32;
|
||||
}
|
||||
|
||||
if (x & 0xFFFF0000)
|
||||
{
|
||||
res -= 16;
|
||||
x >>= 16;
|
||||
}
|
||||
|
||||
if (x & 0xFF00)
|
||||
{
|
||||
res -= 8;
|
||||
x >>= 8;
|
||||
}
|
||||
|
||||
if (x & 0xF0)
|
||||
{
|
||||
res -= 4;
|
||||
x >>= 4;
|
||||
}
|
||||
|
||||
if (x & 0xC)
|
||||
{
|
||||
res -= 2;
|
||||
x >>= 2;
|
||||
}
|
||||
|
||||
if (x & 0x2)
|
||||
{
|
||||
res -= 1;
|
||||
x >>= 1;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_GFC_INTEGER_16
|
||||
extern int ctz128 (GFC_INTEGER_16);
|
||||
export_proto(ctz128);
|
||||
|
||||
int
|
||||
ctz128 (GFC_INTEGER_16 x)
|
||||
{
|
||||
int res = 0;
|
||||
|
||||
if ((x & 0xFFFFFFFFFFFFFFFF) == 0)
|
||||
{
|
||||
res += 64;
|
||||
x >>= 64;
|
||||
}
|
||||
|
||||
if ((x & 0xFFFFFFFF) == 0)
|
||||
{
|
||||
res += 32;
|
||||
x >>= 32;
|
||||
}
|
||||
|
||||
if ((x & 0xFFFF) == 0)
|
||||
{
|
||||
res += 16;
|
||||
x >>= 16;
|
||||
}
|
||||
|
||||
if ((x & 0xFF) == 0)
|
||||
{
|
||||
res += 8;
|
||||
x >>= 8;
|
||||
}
|
||||
|
||||
if ((x & 0xF) == 0)
|
||||
{
|
||||
res += 4;
|
||||
x >>= 4;
|
||||
}
|
||||
|
||||
if ((x & 0x3) == 0)
|
||||
{
|
||||
res += 2;
|
||||
x >>= 2;
|
||||
}
|
||||
|
||||
if ((x & 0x1) == 0)
|
||||
{
|
||||
res += 1;
|
||||
x >>= 1;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
#endif
|
||||
Loading…
Reference in New Issue