aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2004-01-16 07:07:27 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2004-01-16 07:07:27 +0000
commitb0fadda7ece3959434d698de5800c2ee95c215fd (patch)
treec566f63f54b609792f564da607f46f66635a0bbe
parente0a21ab90e2c3f7ceccac31326cb8658c88f41a2 (diff)
downloadgcc-b0fadda7ece3959434d698de5800c2ee95c215fd.zip
gcc-b0fadda7ece3959434d698de5800c2ee95c215fd.tar.gz
gcc-b0fadda7ece3959434d698de5800c2ee95c215fd.tar.bz2
rs6000.c (rs6000_va_arg): No need to special-case altivec operands.
* config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case altivec operands. From-SVN: r75960
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c24
2 files changed, 6 insertions, 23 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2384ba9..6cdf24e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-15 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
+ altivec operands.
+
2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
* c-common.h: Fix comment formatting.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index eeabb66..9a399b1 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -4678,29 +4678,7 @@ rs6000_va_arg (tree valist, tree type)
return expand_expr (t, NULL_RTX, VOIDmode, EXPAND_NORMAL);
}
else
- {
- /* Altivec arguments must be aligned to a 128-bit boundary. */
- if (TARGET_ALTIVEC_ABI && ALTIVEC_VECTOR_MODE (TYPE_MODE (type)))
- {
- tree vtype = TREE_TYPE (valist);
- tree new_valist, modify;
-
- /* Round address up to multiple of 16. Computes
- (addr+15)&~0xf. */
- new_valist = fold (build (BIT_AND_EXPR, vtype,
- fold (build (PLUS_EXPR, vtype, valist,
- build_int_2 (15, 0))),
- build_int_2 (~15, -1)));
-
- /* Update valist. */
- modify = build (MODIFY_EXPR, TREE_TYPE (valist), valist,
- new_valist);
- TREE_SIDE_EFFECTS (modify) = 1;
- expand_expr (modify, const0_rtx, VOIDmode, EXPAND_NORMAL);
- }
-
- return std_expand_builtin_va_arg (valist, type);
- }
+ return std_expand_builtin_va_arg (valist, type);
}
f_gpr = TYPE_FIELDS (TREE_TYPE (va_list_type_node));