PR fortran/38282 * intrinsic.c (add_functions): Add B{G,L}{E,T}, DSHIFT{L,R}, MASK{L,R}, MERGE_BITS and SHIFT{A,L,R}. * gfortran.h: Define ISYM values for above intrinsics. * intrinsic.h (gfc_check_bge_bgt_ble_blt, gfc_check_dshift, gfc_check_mask, gfc_check_merge_bits, gfc_check_shift, gfc_simplify_bge, gfc_simplify_bgt, gfc_simplify_ble, gfc_simplify_blt, gfc_simplify_dshiftl, gfc_simplify_dshiftr, gfc_simplify_lshift, gfc_simplify_maskl, gfc_simplify_maskr, gfc_simplify_merge_bits, gfc_simplify_rshift, gfc_simplify_shifta, gfc_simplify_shiftl, gfc_simplify_shiftr, gfc_resolve_dshift, gfc_resolve_mask, gfc_resolve_merge_bits, gfc_resolve_shift): New prototypes. * iresolve.c (gfc_resolve_dshift, gfc_resolve_mask, gfc_resolve_merge_bits, gfc_resolve_shift): New functions. * check.c (gfc_check_bge_bgt_ble_blt, gfc_check_dshift, gfc_check_mask, gfc_check_merge_bits, gfc_check_shift): New functions. * trans-intrinsic.c (gfc_conv_intrinsic_dshift, gfc_conv_intrinsic_bitcomp, gfc_conv_intrinsic_shift, gfc_conv_intrinsic_merge_bits, gfc_conv_intrinsic_mask): New functions. (gfc_conv_intrinsic_function): Call above static functions. * intrinsic.texi: Document new intrinsics. * simplify.c (gfc_simplify_bge, gfc_simplify_bgt, gfc_simplify_ble, gfc_simplify_blt, gfc_simplify_dshiftl, gfc_simplify_dshiftr, gfc_simplify_lshift, gfc_simplify_maskl, gfc_simplify_maskr, gfc_simplify_merge_bits, gfc_simplify_rshift, gfc_simplify_shifta, gfc_simplify_shiftl, gfc_simplify_shiftr): New functions. * gfortran.dg/bit_comparison_1.F90: New test. * gfortran.dg/leadz_trailz_3.f90: New test. * gfortran.dg/masklr_2.F90: New test. * gfortran.dg/shiftalr_1.F90: New test. * gfortran.dg/merge_bits_2.F90: New test. * gfortran.dg/dshift_2.F90: New test. * gfortran.dg/bit_comparison_2.F90: New test. * gfortran.dg/masklr_1.F90: New test. * gfortran.dg/merge_bits_1.F90: New test. * gfortran.dg/dshift_1.F90: New test. * gfortran.dg/shiftalr_2.F90: New test. From-SVN: r164021
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ChangeLog | Loading commit data... | |
ChangeLog-2002 | Loading commit data... | |
ChangeLog-2003 | Loading commit data... | |
ChangeLog-2004 | Loading commit data... | |
ChangeLog-2005 | Loading commit data... | |
ChangeLog-2006 | Loading commit data... | |
ChangeLog-2007 | Loading commit data... | |
ChangeLog-2008 | Loading commit data... | |
ChangeLog-2009 | Loading commit data... | |
ChangeLog.ptr | Loading commit data... | |
Make-lang.in | Loading commit data... | |
arith.c | Loading commit data... | |
arith.h | Loading commit data... | |
array.c | Loading commit data... | |
bbt.c | Loading commit data... | |
check.c | Loading commit data... | |
class.c | Loading commit data... | |
config-lang.in | Loading commit data... | |
constructor.c | Loading commit data... | |
constructor.h | Loading commit data... | |
convert.c | Loading commit data... | |
cpp.c | Loading commit data... | |
cpp.h | Loading commit data... | |
data.c | Loading commit data... | |
data.h | Loading commit data... | |
decl.c | Loading commit data... | |
dependency.c | Loading commit data... | |
dependency.h | Loading commit data... | |
dump-parse-tree.c | Loading commit data... | |
error.c | Loading commit data... | |
expr.c | Loading commit data... | |
f95-lang.c | Loading commit data... | |
frontend-passes.c | Loading commit data... | |
gfc-internals.texi | Loading commit data... | |
gfortran.h | Loading commit data... | |
gfortran.texi | Loading commit data... | |
gfortranspec.c | Loading commit data... | |
interface.c | Loading commit data... | |
intrinsic.c | Loading commit data... | |
intrinsic.h | Loading commit data... | |
intrinsic.texi | Loading commit data... | |
invoke.texi | Loading commit data... | |
io.c | Loading commit data... | |
ioparm.def | Loading commit data... | |
iresolve.c | Loading commit data... | |
iso-c-binding.def | Loading commit data... | |
iso-fortran-env.def | Loading commit data... | |
lang-specs.h | Loading commit data... | |
lang.opt | Loading commit data... | |
libgfortran.h | Loading commit data... | |
match.c | Loading commit data... | |
match.h | Loading commit data... | |
matchexp.c | Loading commit data... | |
mathbuiltins.def | Loading commit data... | |
misc.c | Loading commit data... | |
module.c | Loading commit data... | |
openmp.c | Loading commit data... | |
options.c | Loading commit data... | |
parse.c | Loading commit data... | |
parse.h | Loading commit data... | |
primary.c | Loading commit data... | |
resolve.c | Loading commit data... | |
scanner.c | Loading commit data... | |
simplify.c | Loading commit data... | |
st.c | Loading commit data... | |
symbol.c | Loading commit data... | |
target-memory.c | Loading commit data... | |
target-memory.h | Loading commit data... | |
trans-array.c | Loading commit data... | |
trans-array.h | Loading commit data... | |
trans-common.c | Loading commit data... | |
trans-const.c | Loading commit data... | |
trans-const.h | Loading commit data... | |
trans-decl.c | Loading commit data... | |
trans-expr.c | Loading commit data... | |
trans-intrinsic.c | Loading commit data... | |
trans-io.c | Loading commit data... | |
trans-openmp.c | Loading commit data... | |
trans-stmt.c | Loading commit data... | |
trans-stmt.h | Loading commit data... | |
trans-types.c | Loading commit data... | |
trans-types.h | Loading commit data... | |
trans.c | Loading commit data... | |
trans.h | Loading commit data... | |
types.def | Loading commit data... |