diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2002-04-17 02:31:30 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2002-04-17 02:31:30 +0000 |
commit | 650f0e9713527bea27162e7f73c5754f39df4e04 (patch) | |
tree | 4917663198719a989fb214c5fe03bc9f0a36a1f0 /gcc | |
parent | 71a0ab0c8c9f9c58a912c516515fc1ead5e1ca9d (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/altivec.h | 74 |
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)) |