spe.h: Define __ev64_*64__ to use single element vectors.
authorAldy Hernandez <aldyh@redhat.com>
Mon, 10 Mar 2003 18:46:35 +0000 (18:46 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 10 Mar 2003 18:46:35 +0000 (18:46 +0000)
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

gcc/ChangeLog
gcc/config/rs6000/spe.h

index 0dbb59141e44fca69774585e79051144c6b72652..f49c3d8960dd1722bdbdedecb0826f62ffa8edfe 100644 (file)
@@ -1,3 +1,10 @@
+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.
index 18fb33820134e5efbc9fc8654831d2d504ce3f33..b15dac5a38b890dbb3a86a9da0b6217663c0e1dd 100644 (file)
@@ -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.  */