aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2002-04-17 02:31:30 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2002-04-17 02:31:30 +0000
commit650f0e9713527bea27162e7f73c5754f39df4e04 (patch)
tree4917663198719a989fb214c5fe03bc9f0a36a1f0 /gcc
parent71a0ab0c8c9f9c58a912c516515fc1ead5e1ca9d (diff)
downloadgcc-650f0e9713527bea27162e7f73c5754f39df4e04.zip
gcc-650f0e9713527bea27162e7f73c5754f39df4e04.tar.gz
gcc-650f0e9713527bea27162e7f73c5754f39df4e04.tar.bz2
altivec.h (vec_ld): Add array variants.
2002-04-17 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/altivec.h (vec_ld): Add array variants. (vec_lde): Same. (vec_ldl): Same. From-SVN: r52400
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/altivec.h74
2 files changed, 77 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 84ec2d3..8d8611b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/altivec.h (vec_ld): Add array variants.
+ (vec_lde): Same.
+ (vec_ldl): Same.
+
2002-04-17 Alan Matsuoka <alanm@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
diff --git a/gcc/config/rs6000/altivec.h b/gcc/config/rs6000/altivec.h
index 552d8e0..2ba4c53 100644
--- a/gcc/config/rs6000/altivec.h
+++ b/gcc/config/rs6000/altivec.h
@@ -4501,79 +4501,147 @@ __ch (__un_args_eq (vector float, (a1)), \
#define vec_ld(a, b) \
__ch (__un_args_eq (vector unsigned char *, (b)), \
((vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector unsigned char [], (b)), \
+ ((vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (unsigned char *, (b)), \
((vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (unsigned char [], (b)), \
+ ((vector unsigned char) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (vector signed char *, (b)), \
((vector signed char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector signed char [], (b)), \
+ ((vector signed char) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (signed char *, (b)), \
((vector signed char) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (signed char [], (b)), \
+ ((vector signed char) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (vector unsigned short *, (b)), \
((vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector unsigned short [], (b)), \
+ ((vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (unsigned short *, (b)), \
((vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (unsigned short [], (b)), \
+ ((vector unsigned short) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (vector signed short *, (b)), \
((vector signed short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector signed short [], (b)), \
+ ((vector signed short) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (signed short *, (b)), \
((vector signed short) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (signed short [], (b)), \
+ ((vector signed short) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (vector unsigned int *, (b)), \
((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector unsigned int [], (b)), \
+ ((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (unsigned int *, (b)), \
((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (unsigned int [], (b)), \
+ ((vector unsigned int) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (vector signed int *, (b)), \
((vector signed int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector signed int [], (b)), \
+ ((vector signed int) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (signed int *, (b)), \
((vector signed int) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (signed int [], (b)), \
+ ((vector signed int) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (vector float *, (b)), \
((vector float) __builtin_altivec_lvx ((a), (b))), \
+__ch (__un_args_eq (vector float [], (b)), \
+ ((vector float) __builtin_altivec_lvx ((a), (b))), \
__ch (__un_args_eq (float *, (b)), \
((vector float) __builtin_altivec_lvx ((a), (b))), \
-__altivec_link_error_invalid_argument ()))))))))))))))
+__ch (__un_args_eq (float [], (b)), \
+ ((vector float) __builtin_altivec_lvx ((a), (b))), \
+__altivec_link_error_invalid_argument ()))))))))))))))))))))))))))))
#define vec_lde(a, b) \
__ch (__un_args_eq (unsigned char *, (b)), \
((vector unsigned char) __builtin_altivec_lvebx ((a), (b))), \
+__ch (__un_args_eq (unsigned char [], (b)), \
+ ((vector unsigned char) __builtin_altivec_lvebx ((a), (b))), \
__ch (__un_args_eq (signed char *, (b)), \
((vector signed char) __builtin_altivec_lvebx ((a), (b))), \
+__ch (__un_args_eq (signed char [], (b)), \
+ ((vector signed char) __builtin_altivec_lvebx ((a), (b))), \
__ch (__un_args_eq (unsigned short *, (b)), \
((vector unsigned short) __builtin_altivec_lvehx ((a), (b))), \
+__ch (__un_args_eq (unsigned short [], (b)), \
+ ((vector unsigned short) __builtin_altivec_lvehx ((a), (b))), \
__ch (__un_args_eq (signed short *, (b)), \
((vector signed short) __builtin_altivec_lvehx ((a), (b))), \
+__ch (__un_args_eq (signed short [], (b)), \
+ ((vector signed short) __builtin_altivec_lvehx ((a), (b))), \
__ch (__un_args_eq (unsigned int *, (b)), \
((vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
+__ch (__un_args_eq (unsigned int [], (b)), \
+ ((vector unsigned int) __builtin_altivec_lvewx ((a), (b))), \
__ch (__un_args_eq (signed int *, (b)), \
((vector signed int) __builtin_altivec_lvewx ((a), (b))), \
-__altivec_link_error_invalid_argument ()))))))
+__ch (__un_args_eq (signed int [], (b)), \
+ ((vector signed int) __builtin_altivec_lvewx ((a), (b))), \
+__altivec_link_error_invalid_argument ()))))))))))))
#define vec_ldl(a, b) \
__ch (__un_args_eq (vector unsigned char *, (b)), \
((vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector unsigned char [], (b)), \
+ ((vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (unsigned char *, (b)), \
((vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (unsigned char [], (b)), \
+ ((vector unsigned char) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (vector signed char *, (b)), \
((vector signed char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector signed char [], (b)), \
+ ((vector signed char) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (signed char *, (b)), \
((vector signed char) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (signed char [], (b)), \
+ ((vector signed char) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (vector unsigned short *, (b)), \
((vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector unsigned short [], (b)), \
+ ((vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (unsigned short *, (b)), \
((vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (unsigned short [], (b)), \
+ ((vector unsigned short) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (vector signed short *, (b)), \
((vector signed short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector signed short [], (b)), \
+ ((vector signed short) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (signed short *, (b)), \
((vector signed short) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (signed short [], (b)), \
+ ((vector signed short) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (vector unsigned int *, (b)), \
((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector unsigned int [], (b)), \
+ ((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (unsigned int *, (b)), \
((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (unsigned int [], (b)), \
+ ((vector unsigned int) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (vector signed int *, (b)), \
((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector signed int [], (b)), \
+ ((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (signed int *, (b)), \
((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (signed int [], (b)), \
+ ((vector signed int) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (vector float *, (b)), \
((vector float) __builtin_altivec_lvxl ((a), (b))), \
+__ch (__un_args_eq (vector float [], (b)), \
+ ((vector float) __builtin_altivec_lvxl ((a), (b))), \
__ch (__un_args_eq (float *, (b)), \
((vector float) __builtin_altivec_lvxl ((a), (b))), \
-__altivec_link_error_invalid_argument ()))))))))))))))
+__ch (__un_args_eq (float [], (b)), \
+ ((vector float) __builtin_altivec_lvxl ((a), (b))), \
+__altivec_link_error_invalid_argument ()))))))))))))))))))))))))))))
#define vec_loge(a1) __builtin_altivec_vlogefp ((a1))