From 650f0e9713527bea27162e7f73c5754f39df4e04 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Wed, 17 Apr 2002 02:31:30 +0000 Subject: [PATCH] altivec.h (vec_ld): Add array variants. 2002-04-17 Aldy Hernandez * config/rs6000/altivec.h (vec_ld): Add array variants. (vec_lde): Same. (vec_ldl): Same. From-SVN: r52400 --- gcc/ChangeLog | 6 +++ gcc/config/rs6000/altivec.h | 74 +++++++++++++++++++++++++++++++++++-- 2 files changed, 77 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 84ec2d33487..8d8611b17a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-04-17 Aldy Hernandez + + * config/rs6000/altivec.h (vec_ld): Add array variants. + (vec_lde): Same. + (vec_ldl): Same. + 2002-04-17 Alan Matsuoka Aldy Hernandez diff --git a/gcc/config/rs6000/altivec.h b/gcc/config/rs6000/altivec.h index 552d8e09a26..2ba4c530b94 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)) -- 2.30.2