diff options
author | Toon Moene <toon@moene.indiv.nluug.nl> | 2001-07-20 15:27:40 +0200 |
---|---|---|
committer | Toon Moene <toon@gcc.gnu.org> | 2001-07-20 13:27:40 +0000 |
commit | eec9ac3d090d032c9e5c7e549ada5742c1392ca0 (patch) | |
tree | 3cf0ad6266d947fc40401633fa3235998b2a905b /gcc | |
parent | 4e01a8f6e5bbe139666992da66340c96d47cdf32 (diff) | |
download | gcc-eec9ac3d090d032c9e5c7e549ada5742c1392ca0.zip gcc-eec9ac3d090d032c9e5c7e549ada5742c1392ca0.tar.gz gcc-eec9ac3d090d032c9e5c7e549ada5742c1392ca0.tar.bz2 |
com.c (ffecom_expr_intrinsic_): case FFEINTRIN_impIBITS: Remove TREE_SHIFT_FULLWIDTH define.
2001-07-20 Toon Moene <toon@moene.indiv.nluug.nl>
* com.c (ffecom_expr_intrinsic_):
case FFEINTRIN_impIBITS: Remove TREE_SHIFT_FULLWIDTH define.
case FFEINTRIN_impISHFT: Ditto. Change LT_EXPR to NE_EXPR.
case FFEINTRIN_impISHFTC: Ditto.
case FFEINTRIN_impMVBITS: Ditto.
From-SVN: r44196
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/f/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/f/com.c | 18 |
2 files changed, 15 insertions, 11 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index fecadfa..d28a479 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,11 @@ +2001-07-20 Toon Moene <toon@moene.indiv.nluug.nl> + + * com.c (ffecom_expr_intrinsic_): + case FFEINTRIN_impIBITS: Remove TREE_SHIFT_FULLWIDTH define. + case FFEINTRIN_impISHFT: Ditto. Change LT_EXPR to NE_EXPR. + case FFEINTRIN_impISHFTC: Ditto. + case FFEINTRIN_impMVBITS: Ditto. + 2001-07-19 Jakub Jelinek <jakub@redhat.com> * top.c (ffe_decode_option): Disallow lang-independent processing diff --git a/gcc/f/com.c b/gcc/f/com.c index d8a4d10..5b4388f 100644 --- a/gcc/f/com.c +++ b/gcc/f/com.c @@ -4524,7 +4524,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, integer_type_node, TYPE_SIZE (uns_type), arg3_tree)))); -#if !defined(TREE_SHIFT_FULLWIDTH) || !TREE_SHIFT_FULLWIDTH + /* Fix up, because the RSHIFT_EXPR above can't shift over TYPE_SIZE. */ expr_tree = ffecom_3 (COND_EXPR, tree_type, ffecom_truth_value @@ -4533,7 +4533,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, integer_zero_node)), expr_tree, convert (tree_type, integer_zero_node)); -#endif } return expr_tree; @@ -4569,18 +4568,17 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ffecom_1 (NEGATE_EXPR, integer_type_node, arg2_tree)))); -#if !defined(TREE_SHIFT_FULLWIDTH) || !TREE_SHIFT_FULLWIDTH + /* Fix up, because {L|R}SHIFT_EXPR don't go over TYPE_SIZE bounds. */ expr_tree = ffecom_3 (COND_EXPR, tree_type, ffecom_truth_value - (ffecom_2 (LT_EXPR, integer_type_node, + (ffecom_2 (NE_EXPR, integer_type_node, ffecom_1 (ABS_EXPR, integer_type_node, arg2_tree), TYPE_SIZE (uns_type))), expr_tree, convert (tree_type, integer_zero_node)); -#endif /* Make sure SAVE_EXPRs get referenced early enough. */ expr_tree = ffecom_2 (COMPOUND_EXPR, tree_type, @@ -4610,7 +4608,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ffecom_1 (BIT_NOT_EXPR, tree_type, convert (tree_type, integer_zero_node)), arg3_tree); -#if !defined(TREE_SHIFT_FULLWIDTH) || !TREE_SHIFT_FULLWIDTH + /* Fix up, because LSHIFT_EXPR above can't shift over TYPE_SIZE. */ mask_arg1 = ffecom_3 (COND_EXPR, tree_type, ffecom_truth_value @@ -4619,7 +4617,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, TYPE_SIZE (uns_type))), mask_arg1, convert (tree_type, integer_zero_node)); -#endif mask_arg1 = ffecom_save_tree (mask_arg1); masked_arg1 = ffecom_2 (BIT_AND_EXPR, tree_type, @@ -4768,7 +4765,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, convert (arg4_type, integer_zero_node)), arg5_plus_arg3); -#if !defined(TREE_SHIFT_FULLWIDTH) || !TREE_SHIFT_FULLWIDTH + /* Fix up, because LSHIFT_EXPR above can't shift over TYPE_SIZE. */ prep_arg4 = ffecom_3 (COND_EXPR, arg4_type, ffecom_truth_value @@ -4778,7 +4775,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, TYPE_SIZE (arg4_type)))), prep_arg4, convert (arg4_type, integer_zero_node)); -#endif prep_arg4 = ffecom_2 (BIT_AND_EXPR, arg4_type, arg4_tree, @@ -4796,7 +4792,8 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, = ffecom_2 (BIT_IOR_EXPR, arg4_type, prep_arg1, prep_arg4); -#if !defined(TREE_SHIFT_FULLWIDTH) || !TREE_SHIFT_FULLWIDTH + /* Fix up (twice), because LSHIFT_EXPR above + can't shift over TYPE_SIZE. */ prep_arg1 = ffecom_3 (COND_EXPR, arg4_type, ffecom_truth_value @@ -4815,7 +4812,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, TYPE_SIZE (arg4_type)))), prep_arg1, arg1_tree); -#endif expr_tree = ffecom_2s (MODIFY_EXPR, void_type_node, arg4_tree, |