aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/spe.h12
2 files changed, 14 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7662c5a..189d5c3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-10-08 Nick Clifton <nickc@redhat.com>
+
+ * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
+ convert uint64_t into __ev64_opaque__.
+ (__ev_set_acc_s64): Likewise, but using signed types.
+
2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.md ("*doloop_si_long"): Add missing operand.
diff --git a/gcc/config/rs6000/spe.h b/gcc/config/rs6000/spe.h
index 2032eb7..279806e 100644
--- a/gcc/config/rs6000/spe.h
+++ b/gcc/config/rs6000/spe.h
@@ -779,15 +779,19 @@ __ev_get_s16_internal (__ev64_opaque__ a, uint32_t pos)
static inline __ev64_opaque__
__ev_set_acc_u64 (uint64_t a)
{
- __ev_mra (a);
- return (__ev64_opaque__) a;
+ __ev64_opaque__ ev32;
+ ev32 = __ev_create_u64 (a);
+ __ev_mra (ev32);
+ return ev32;
}
static inline __ev64_opaque__
__ev_set_acc_s64 (int64_t a)
{
- __ev_mra (a);
- return (__ev64_opaque__) a;
+ __ev64_opaque__ ev32;
+ ev32 = __ev_create_s64 (a);
+ __ev_mra (ev32);
+ return ev32;
}
static inline __ev64_opaque__