diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7f7933ba79066fcaec56b49be1dc02922b4f3203..b530a2bcad2b907a8652150a974ef98b6d3338b7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2004-11-22  Dale Johannesen  <dalej@apple.com>
+
+	* calls.c (expand_call): Do not call preserve_temp_slots.
+
 2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* tree-flow.h: Remove the prototype for remove_phi_arg.
diff --git a/gcc/calls.c b/gcc/calls.c
index 720ffb7de76ac08cc36a8058afed15213215cecf..84d44350c4b208f9cc5871ddfda3b78abf97ae2e 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2819,7 +2819,6 @@ expand_call (tree exp, rtx target, int ignore)
 					       | TYPE_QUAL_CONST));
 
 	      target = assign_temp (nt, 0, 1, 1);
-	      preserve_temp_slots (target);
 	    }
 
 	  if (! rtx_equal_p (target, valreg))
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3d9d53a44980988ac5bbd9e96f68ea2b89aee87e..0f3ca0db14635ef6cca35679ae8243c478340df5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-11-22  Dale Johannesen  <dalej@apple.com>
+
+	* gcc.dg/20041111-1.c:  New.
+
 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
 
 	PR tree-opt/18536
diff --git a/gcc/testsuite/gcc.dg/20041111-1.c b/gcc/testsuite/gcc.dg/20041111-1.c
new file mode 100644
index 0000000000000000000000000000000000000000..94de2f03ad6134913134bf4892eae835b01e38a9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20041111-1.c
@@ -0,0 +1,10 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-options "-mcpu=power4 -O2" } */
+
+extern unsigned long long set_mask[65];
+extern  unsigned long long xyzzy(int) __attribute__((pure));
+
+int valid (int x)
+{
+  return(xyzzy(x) & set_mask[x]);
+}