]> gcc.gnu.org Git - gcc.git/commit - gcc/optabs.c
md.texi (shift patterns): New anchor.
authorRichard Sandiford <rsandifo@redhat.com>
Sat, 4 Sep 2004 08:50:36 +0000 (08:50 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sat, 4 Sep 2004 08:50:36 +0000 (08:50 +0000)
commit273a2526bdccb1cde0f332d254616982cc142a64
tree4320b41f468e28f9439feab3f57dff953085081c
parentcaf29de78e1a609a86f4f883db628e97f51b96c8
md.texi (shift patterns): New anchor.

* doc/md.texi (shift patterns): New anchor.  Add reference to
TARGET_SHIFT_TRUNCATION_MASK.
* doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
* target.h (shift_truncation_mask): New target hook.
* targhook.h (default_shift_truncation_mask): Declare.
* targhook.c (default_shift_truncation_mask): Define.
* target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
(TARGET_INITIALIZER): Include it.
* simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
and LSHIFTRT cases.  Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
reject all out-of-range values.  Fix sign-extension code for modes
whose width is smaller than HOST_BITS_PER_WIDE_INT.
* optabs.c (simplify_expand_binop, force_expand_binop): New functions.
(expand_superword_shift, expand_subword_shift): Likewise.
(expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
(expand_binop): Use them to implement double-word shifts.
* config/arm/arm.c (arm_shift_truncation_mask): New function.
(TARGET_SHIFT_TRUNCATION_MASK): Define.

From-SVN: r87079
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/doc/md.texi
gcc/doc/tm.texi
gcc/optabs.c
gcc/simplify-rtx.c
gcc/target-def.h
gcc/target.h
gcc/targhooks.c
gcc/targhooks.h
This page took 0.060039 seconds and 5 git commands to generate.