This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r242160 - in /branches/ARM/sve-branch/gcc: c-fa...


Author: rsandifo
Date: Fri Nov 11 17:10:30 2016
New Revision: 242160

URL: https://gcc.gnu.org/viewcvs?rev=242160&root=gcc&view=rev
Log:
Add a scalar_mode class

This patch adds a scalar_mode class that can hold any scalar mode,
specifically:

  - scalar integers
  - scalar floating-point values
  - scalar fractional modes
  - scalar accumulator modes
  - pointer bounds modes

The type is useful in four main situations:

  - as the mode of a CONST_SCALAR_INT_P.  Logically these would
    be scalar_int_modes, but we also use CONST_INT for pointer
    bounds modes.

  - while operating on the fixed-point modes (fractional and
    accumulator).  It would be possible to define special classes
    for these, but at the moment nothing would benefit from them.
    In particular, there's no use case that would help select between
    one class for all fixed-point modes versus one class for fractional
    modes and one class for accumulator modes.

  - in hooks like scalar_mode_supported_p.

  - as the mode of a vector element, in cases where we don't need
    to distinguish between integer and floating-point elements.

The number of uses is much smaller than for scalar_int_mode,
so the patch handles them all at once.

The patch also gets rid of a redundant assignment to total_bytes
in native_interpret_real.  The variable was already set to the
same value in the variable declaration block.

Modified:
    branches/ARM/sve-branch/gcc/c-family/c-attribs.c
    branches/ARM/sve-branch/gcc/c-family/c-common.c
    branches/ARM/sve-branch/gcc/c-family/c-lex.c
    branches/ARM/sve-branch/gcc/c/c-typeck.c
    branches/ARM/sve-branch/gcc/cfgexpand.c
    branches/ARM/sve-branch/gcc/config/aarch64/aarch64.c
    branches/ARM/sve-branch/gcc/config/alpha/alpha.c
    branches/ARM/sve-branch/gcc/config/arc/arc.c
    branches/ARM/sve-branch/gcc/config/arm/arm.c
    branches/ARM/sve-branch/gcc/config/avr/avr.c
    branches/ARM/sve-branch/gcc/config/c6x/c6x.c
    branches/ARM/sve-branch/gcc/config/epiphany/epiphany.c
    branches/ARM/sve-branch/gcc/config/i386/i386.c
    branches/ARM/sve-branch/gcc/config/ia64/ia64.c
    branches/ARM/sve-branch/gcc/config/mips/mips.c
    branches/ARM/sve-branch/gcc/config/msp430/msp430.c
    branches/ARM/sve-branch/gcc/config/pa/pa.c
    branches/ARM/sve-branch/gcc/config/pdp11/pdp11.c
    branches/ARM/sve-branch/gcc/config/rs6000/rs6000.c
    branches/ARM/sve-branch/gcc/config/s390/s390.c
    branches/ARM/sve-branch/gcc/config/sparc/sparc.c
    branches/ARM/sve-branch/gcc/config/spu/spu.c
    branches/ARM/sve-branch/gcc/config/tilegx/tilegx.c
    branches/ARM/sve-branch/gcc/config/tilepro/tilepro.c
    branches/ARM/sve-branch/gcc/coretypes.h
    branches/ARM/sve-branch/gcc/cp/typeck.c
    branches/ARM/sve-branch/gcc/doc/tm.texi
    branches/ARM/sve-branch/gcc/dwarf2out.c
    branches/ARM/sve-branch/gcc/emit-rtl.c
    branches/ARM/sve-branch/gcc/explow.c
    branches/ARM/sve-branch/gcc/expmed.c
    branches/ARM/sve-branch/gcc/expr.c
    branches/ARM/sve-branch/gcc/fixed-value.c
    branches/ARM/sve-branch/gcc/fixed-value.h
    branches/ARM/sve-branch/gcc/fold-const.c
    branches/ARM/sve-branch/gcc/function.c
    branches/ARM/sve-branch/gcc/genmodes.c
    branches/ARM/sve-branch/gcc/machmode.h
    branches/ARM/sve-branch/gcc/omp-low.c
    branches/ARM/sve-branch/gcc/omp-simd-clone.c
    branches/ARM/sve-branch/gcc/optabs-query.c
    branches/ARM/sve-branch/gcc/optabs.c
    branches/ARM/sve-branch/gcc/rtl.h
    branches/ARM/sve-branch/gcc/rtlanal.c
    branches/ARM/sve-branch/gcc/sdbout.c
    branches/ARM/sve-branch/gcc/simplify-rtx.c
    branches/ARM/sve-branch/gcc/stor-layout.c
    branches/ARM/sve-branch/gcc/target.def
    branches/ARM/sve-branch/gcc/targhooks.c
    branches/ARM/sve-branch/gcc/targhooks.h
    branches/ARM/sve-branch/gcc/tree-cfg.c
    branches/ARM/sve-branch/gcc/tree-inline.c
    branches/ARM/sve-branch/gcc/tree-ssa-math-opts.c
    branches/ARM/sve-branch/gcc/tree-vect-loop.c
    branches/ARM/sve-branch/gcc/tree-vect-patterns.c
    branches/ARM/sve-branch/gcc/tree-vect-slp.c
    branches/ARM/sve-branch/gcc/tree-vect-stmts.c
    branches/ARM/sve-branch/gcc/tree.c
    branches/ARM/sve-branch/gcc/tree.h
    branches/ARM/sve-branch/gcc/ubsan.c
    branches/ARM/sve-branch/gcc/varasm.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]