From eec9ac3d090d032c9e5c7e549ada5742c1392ca0 Mon Sep 17 00:00:00 2001 From: Toon Moene Date: Fri, 20 Jul 2001 15:27:40 +0200 Subject: [PATCH] com.c (ffecom_expr_intrinsic_): case FFEINTRIN_impIBITS: Remove TREE_SHIFT_FULLWIDTH define. 2001-07-20 Toon Moene * 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 --- gcc/f/ChangeLog | 8 ++++++++ gcc/f/com.c | 18 +++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index fecadfad0b8..d28a47989db 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,11 @@ +2001-07-20 Toon Moene + + * 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 * top.c (ffe_decode_option): Disallow lang-independent processing diff --git a/gcc/f/com.c b/gcc/f/com.c index d8a4d109ca6..5b4388f7997 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, -- 2.30.2