aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2003-03-10 18:46:35 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2003-03-10 18:46:35 +0000
commitb405370260e7f244876ab88241d003fa8328b58d (patch)
tree0a9f34cee3d7c46ed8ed565c4566e0815f9107e5
parent912b79e7e94435b40b1a8ac4091014dde3a4f7d8 (diff)
downloadgcc-b405370260e7f244876ab88241d003fa8328b58d.zip
gcc-b405370260e7f244876ab88241d003fa8328b58d.tar.gz
gcc-b405370260e7f244876ab88241d003fa8328b58d.tar.bz2
spe.h: Define __ev64_*64__ to use single element vectors.
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. From-SVN: r64104
-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 0dbb591..f49c3d8 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 18fb338..b15dac5 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. */