summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-10 18:46:35 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-10 18:46:35 +0000
commitf89afaa29c6358306b14a5fdc696919eefe840e4 (patch)
tree0a9f34cee3d7c46ed8ed565c4566e0815f9107e5
parenta6a0ec1cb00b5d362ad1e68bae5dc1ec6d010cb7 (diff)
downloadgcc-f89afaa29c6358306b14a5fdc696919eefe840e4.tar.gz
2003-03-10 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/spe.h: Define __ev64_*64__ to use single element vectors. (__ev_convert_u64): Remove macro. Define as inline. (__ev_convert_s64): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64104 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/spe.h17
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0dbb59141e4..f49c3d8960d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2003-03-10 Aldy Hernandez <aldyh@redhat.com>
+ * config/rs6000/spe.h: Define __ev64_*64__ to use single element
+ vectors.
+ (__ev_convert_u64): Remove macro. Define as inline.
+ (__ev_convert_s64): Same.
+
+2003-03-10 Aldy Hernandez <aldyh@redhat.com>
+
* config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
(rs6000_stack_t): Add spe_64bit_regs_used.
diff --git a/gcc/config/rs6000/spe.h b/gcc/config/rs6000/spe.h
index 18fb3382013..b15dac5a38b 100644
--- a/gcc/config/rs6000/spe.h
+++ b/gcc/config/rs6000/spe.h
@@ -42,8 +42,8 @@ typedef short __vector __ev64_s16__;
typedef unsigned short __vector __ev64_u16__;
typedef int __vector __ev64_s32__;
typedef unsigned __vector __ev64_u32__;
-typedef long long __ev64_s64__;
-typedef unsigned long long __ev64_u64__;
+typedef long long __vector __ev64_s64__;
+typedef unsigned long long __vector __ev64_u64__;
typedef float __vector __ev64_fs__;
typedef int __vector __ev64_opaque__;
@@ -651,8 +651,17 @@ __ev_create_u64 (uint64_t a)
return u.v;
}
-#define __ev_convert_u64(a) ((uint64_t) (a))
-#define __ev_convert_s64(a) ((int64_t) (a))
+static inline uint64_t
+__ev_convert_u64 (__ev64_opaque__ a)
+{
+ return (uint64_t) a;
+}
+
+static inline int64_t
+__ev_convert_s64 (__ev64_opaque__ a)
+{
+ return (int64_t) a;
+}
/* __ev_get_* functions. */