mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 21:57:13 +08:00
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
This commit is contained in:
parent
4e01a8f6e5
commit
eec9ac3d09
@ -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
|
||||
|
18
gcc/f/com.c
18
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,
|
||||
|
Loading…
Reference in New Issue
Block a user