Commit eec9ac3d by Toon Moene Committed by Toon Moene

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
parent 4e01a8f6
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> 2001-07-19 Jakub Jelinek <jakub@redhat.com>
* top.c (ffe_decode_option): Disallow lang-independent processing * top.c (ffe_decode_option): Disallow lang-independent processing
......
...@@ -4524,7 +4524,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4524,7 +4524,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
integer_type_node, integer_type_node,
TYPE_SIZE (uns_type), TYPE_SIZE (uns_type),
arg3_tree)))); 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 expr_tree
= ffecom_3 (COND_EXPR, tree_type, = ffecom_3 (COND_EXPR, tree_type,
ffecom_truth_value ffecom_truth_value
...@@ -4533,7 +4533,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4533,7 +4533,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
integer_zero_node)), integer_zero_node)),
expr_tree, expr_tree,
convert (tree_type, integer_zero_node)); convert (tree_type, integer_zero_node));
#endif
} }
return expr_tree; return expr_tree;
...@@ -4569,18 +4568,17 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4569,18 +4568,17 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
ffecom_1 (NEGATE_EXPR, ffecom_1 (NEGATE_EXPR,
integer_type_node, integer_type_node,
arg2_tree)))); 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 expr_tree
= ffecom_3 (COND_EXPR, tree_type, = ffecom_3 (COND_EXPR, tree_type,
ffecom_truth_value ffecom_truth_value
(ffecom_2 (LT_EXPR, integer_type_node, (ffecom_2 (NE_EXPR, integer_type_node,
ffecom_1 (ABS_EXPR, ffecom_1 (ABS_EXPR,
integer_type_node, integer_type_node,
arg2_tree), arg2_tree),
TYPE_SIZE (uns_type))), TYPE_SIZE (uns_type))),
expr_tree, expr_tree,
convert (tree_type, integer_zero_node)); convert (tree_type, integer_zero_node));
#endif
/* Make sure SAVE_EXPRs get referenced early enough. */ /* Make sure SAVE_EXPRs get referenced early enough. */
expr_tree expr_tree
= ffecom_2 (COMPOUND_EXPR, tree_type, = ffecom_2 (COMPOUND_EXPR, tree_type,
...@@ -4610,7 +4608,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4610,7 +4608,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
ffecom_1 (BIT_NOT_EXPR, tree_type, ffecom_1 (BIT_NOT_EXPR, tree_type,
convert (tree_type, integer_zero_node)), convert (tree_type, integer_zero_node)),
arg3_tree); arg3_tree);
#if !defined(TREE_SHIFT_FULLWIDTH) || !TREE_SHIFT_FULLWIDTH /* Fix up, because LSHIFT_EXPR above can't shift over TYPE_SIZE. */
mask_arg1 mask_arg1
= ffecom_3 (COND_EXPR, tree_type, = ffecom_3 (COND_EXPR, tree_type,
ffecom_truth_value ffecom_truth_value
...@@ -4619,7 +4617,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4619,7 +4617,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
TYPE_SIZE (uns_type))), TYPE_SIZE (uns_type))),
mask_arg1, mask_arg1,
convert (tree_type, integer_zero_node)); convert (tree_type, integer_zero_node));
#endif
mask_arg1 = ffecom_save_tree (mask_arg1); mask_arg1 = ffecom_save_tree (mask_arg1);
masked_arg1 masked_arg1
= ffecom_2 (BIT_AND_EXPR, tree_type, = ffecom_2 (BIT_AND_EXPR, tree_type,
...@@ -4768,7 +4765,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4768,7 +4765,7 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
convert (arg4_type, convert (arg4_type,
integer_zero_node)), integer_zero_node)),
arg5_plus_arg3); 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 prep_arg4
= ffecom_3 (COND_EXPR, arg4_type, = ffecom_3 (COND_EXPR, arg4_type,
ffecom_truth_value ffecom_truth_value
...@@ -4778,7 +4775,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4778,7 +4775,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
TYPE_SIZE (arg4_type)))), TYPE_SIZE (arg4_type)))),
prep_arg4, prep_arg4,
convert (arg4_type, integer_zero_node)); convert (arg4_type, integer_zero_node));
#endif
prep_arg4 prep_arg4
= ffecom_2 (BIT_AND_EXPR, arg4_type, = ffecom_2 (BIT_AND_EXPR, arg4_type,
arg4_tree, arg4_tree,
...@@ -4796,7 +4792,8 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4796,7 +4792,8 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
= ffecom_2 (BIT_IOR_EXPR, arg4_type, = ffecom_2 (BIT_IOR_EXPR, arg4_type,
prep_arg1, prep_arg1,
prep_arg4); 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 prep_arg1
= ffecom_3 (COND_EXPR, arg4_type, = ffecom_3 (COND_EXPR, arg4_type,
ffecom_truth_value ffecom_truth_value
...@@ -4815,7 +4812,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree, ...@@ -4815,7 +4812,6 @@ ffecom_expr_intrinsic_ (ffebld expr, tree dest_tree,
TYPE_SIZE (arg4_type)))), TYPE_SIZE (arg4_type)))),
prep_arg1, prep_arg1,
arg1_tree); arg1_tree);
#endif
expr_tree expr_tree
= ffecom_2s (MODIFY_EXPR, void_type_node, = ffecom_2s (MODIFY_EXPR, void_type_node,
arg4_tree, arg4_tree,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment