summaryrefslogtreecommitdiff
path: root/gcc/mode-classes.def
diff options
context:
space:
mode:
authorChao-ying Fu <fu@mips.com>2007-06-25 22:51:27 +0000
committerChao-ying Fu <chaoyingfu@gcc.gnu.org>2007-06-25 22:51:27 +0000
commit1699ec0b951194866205fab00a7190c3c2aebe27 (patch)
tree6ecd0978afb0fb7ed48648a6a19859f96c4e1500 /gcc/mode-classes.def
parentb46ce77fe88b9640619b588283830faa1e20a7e3 (diff)
downloadgcc-1699ec0b951194866205fab00a7190c3c2aebe27.tar.gz
rtl.texi (Machine Modes): Document QQ...
* doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes. Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. Document GET_MODE_IBIT, and GET_MODE_FBIT. * machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. (SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P, SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P, SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P, ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P, ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P, SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P, ALL_FIXED_POINT_MODE_P): New define. (CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. (GET_MODE_IBIT, GET_MODE_FBIT): New define. * mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM): New mode classes. * machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT. Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTA. * genmodes.c (struct mode_data): Add ibit and fbit fields. (blank_mode): Initialize ibit and fbit. (adj_ibit, adj_fbit): New to adjust ibit and fbit. (vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM. (new_adjust): Change required_class to required_class_from and required_class_to for testing within a range. (complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. (FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define. (make_fixed_point_mode): New. (_ADD_ADJUST): Change C to C1 and C2. (ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to use a range for machine classes. (ADJUST_IBIT, ADJUST_FBIT): New. (emit_insn_modes_h): Output defines of CONST_MODE_IBIT and CONST_MODE_FBIT. (emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. Emit adjustment for ibit and fbit. (emit_mode_ibit, emit_mode_fbit): New. (emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit. From-SVN: r126007
Diffstat (limited to 'gcc/mode-classes.def')
-rw-r--r--gcc/mode-classes.def10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/mode-classes.def b/gcc/mode-classes.def
index 7fc7a9b3c80..2f56efac1a1 100644
--- a/gcc/mode-classes.def
+++ b/gcc/mode-classes.def
@@ -23,10 +23,18 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
DEF_MODE_CLASS (MODE_RANDOM), /* other */ \
DEF_MODE_CLASS (MODE_CC), /* condition code in a register */ \
DEF_MODE_CLASS (MODE_INT), /* integer */ \
- DEF_MODE_CLASS (MODE_PARTIAL_INT), /* integer with padding bits */ \
+ DEF_MODE_CLASS (MODE_PARTIAL_INT), /* integer with padding bits */ \
+ DEF_MODE_CLASS (MODE_FRACT), /* signed fractional number */ \
+ DEF_MODE_CLASS (MODE_UFRACT), /* unsigned fractional number */ \
+ DEF_MODE_CLASS (MODE_ACCUM), /* signed accumulator */ \
+ DEF_MODE_CLASS (MODE_UACCUM), /* unsigned accumulator */ \
DEF_MODE_CLASS (MODE_FLOAT), /* floating point */ \
DEF_MODE_CLASS (MODE_DECIMAL_FLOAT), /* decimal floating point */ \
DEF_MODE_CLASS (MODE_COMPLEX_INT), /* complex numbers */ \
DEF_MODE_CLASS (MODE_COMPLEX_FLOAT), \
DEF_MODE_CLASS (MODE_VECTOR_INT), /* SIMD vectors */ \
+ DEF_MODE_CLASS (MODE_VECTOR_FRACT), /* SIMD vectors */ \
+ DEF_MODE_CLASS (MODE_VECTOR_UFRACT), /* SIMD vectors */ \
+ DEF_MODE_CLASS (MODE_VECTOR_ACCUM), /* SIMD vectors */ \
+ DEF_MODE_CLASS (MODE_VECTOR_UACCUM), /* SIMD vectors */ \
DEF_MODE_CLASS (MODE_VECTOR_FLOAT)