URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.target/] [powerpc/] [altivec-10.c] - Rev 154
Go to most recent revision | Compare with Previous | Blame | View Log
/* { dg-do compile { target powerpc*-*-* } } */ /* { dg-require-effective-target powerpc_altivec_ok } */ /* { dg-options "-maltivec -mabi=altivec -fno-inline" } */ #include <altivec.h> #include <signal.h> #include "altivec_check.h" typedef union { float f[4]; unsigned int i[4]; vector float v; } vec_float_t; void check_vec_all_num () { vec_float_t a, b, c; a.i[0] = 0xfffa5a5a; a.f[1] = 1.0; a.f[2] = 1.0; a.f[3] = 1.0; b.f[0] = 1.0; b.f[1] = 1.0; b.f[2] = 1.0; b.f[3] = 1.0; c.i[0] = 0xfffa5a5a; c.i[1] = 0xfffa5a5a; c.i[2] = 0xfffa5a5a; c.i[3] = 0xfffa5a5a; if (vec_all_numeric (a.v)) abort (); if (vec_all_nan (a.v)) abort (); if (!vec_all_numeric (b.v)) abort (); if (vec_all_nan (b.v)) abort (); if (vec_all_numeric (c.v)) abort (); if (!vec_all_nan (c.v)) abort (); } void check_cmple() { vector float a = {1.0, 2.0, 3.0, 4.0}; vector float b = {1.0, 3.0, 2.0, 5.0}; vector bool int aux; vector signed int le = {-1, -1, 0, -1}; aux = vec_cmple (a, b); if (!vec_all_eq (aux, le)) abort (); } int main() { altivec_check (); check_cmple (); check_vec_all_num (); exit (0); }
Go to most recent revision | Compare with Previous | Blame | View Log