URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [vect/] [vect-reduc-10.c] - Rev 801
Go to most recent revision | Compare with Previous | Blame | View Log
#include "tree-vect.h" extern void abort (void); double ad[1024]; float af[1024]; short as[1024]; int ai[1024]; long long all[1024]; unsigned short aus[1024]; unsigned int au[1024]; unsigned long long aull[1024]; #define F(var) \ __attribute__((noinline, noclone)) __typeof (var[0]) \ f##var (void) \ { \ int i; \ __typeof (var[0]) r = 0; \ for (i = 0; i < 1024; i++) \ r = r > var[i] ? r : var[i]; \ return r; \ } #define TESTS \ F (ad) F (af) F (as) F (ai) F (all) F (aus) F (au) F (aull) TESTS int main () { int i; check_vect (); for (i = 0; i < 1024; i++) { #undef F #define F(var) var[i] = i; TESTS } for (i = 1023; i < 32 * 1024; i += 1024 + 271) { #undef F #define F(var) var[i & 1023] = i; if (f##var () != i) abort (); TESTS } return 0; } /* { dg-final { cleanup-tree-dump "vect" } } */
Go to most recent revision | Compare with Previous | Blame | View Log