Commit 8fb632eb by Zdenek Dvorak Committed by Zdenek Dvorak

rs6000.c (rs6000_gimplify_va_arg): Generate the operands with compatible type.

	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the
	operands with compatible type.

From-SVN: r126976
parent a896d54d
2007-07-27 Zdenek Dvorak <dvorakz@suse.cz>
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the
operands with compatible type.
2007-07-27 Richard Sandiford <richard@codesourcery.com> 2007-07-27 Richard Sandiford <richard@codesourcery.com>
* expr.h (store_bit_field): Don't return a value. * expr.h (store_bit_field): Don't return a value.
......
...@@ -6465,7 +6465,7 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p) ...@@ -6465,7 +6465,7 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p)
{ {
regalign = 1; regalign = 1;
u = build2 (BIT_AND_EXPR, TREE_TYPE (reg), reg, u = build2 (BIT_AND_EXPR, TREE_TYPE (reg), reg,
size_int (n_reg - 1)); build_int_cst (TREE_TYPE (reg), n_reg - 1));
u = build2 (POSTINCREMENT_EXPR, TREE_TYPE (reg), reg, u); u = build2 (POSTINCREMENT_EXPR, TREE_TYPE (reg), reg, u);
} }
/* _Decimal128 is passed in even/odd fpr pairs; the stored /* _Decimal128 is passed in even/odd fpr pairs; the stored
...@@ -6487,7 +6487,8 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p) ...@@ -6487,7 +6487,8 @@ rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p, tree *post_p)
if (sav_ofs) if (sav_ofs)
t = build2 (POINTER_PLUS_EXPR, ptr_type_node, sav, size_int (sav_ofs)); t = build2 (POINTER_PLUS_EXPR, ptr_type_node, sav, size_int (sav_ofs));
u = build2 (POSTINCREMENT_EXPR, TREE_TYPE (reg), reg, size_int (n_reg)); u = build2 (POSTINCREMENT_EXPR, TREE_TYPE (reg), reg,
build_int_cst (TREE_TYPE (reg), n_reg));
u = fold_convert (sizetype, u); u = fold_convert (sizetype, u);
u = build2 (MULT_EXPR, sizetype, u, size_int (sav_scale)); u = build2 (MULT_EXPR, sizetype, u, size_int (sav_scale));
t = build2 (POINTER_PLUS_EXPR, ptr_type_node, t, u); t = build2 (POINTER_PLUS_EXPR, ptr_type_node, t, u);
......
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