Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/vmx/ops-long-1.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-maltivec -mabi=altivec -std=gnu99 -mno-vsx -Wno-deprecated" } */ /* Checks from the original ops.c that pass pointers to long or unsigned long for operations that support that in released versions of <altivec.h>. */ #include <altivec.h> #include <stdlib.h> extern int *var_int; extern long * *var_long_ptr; extern unsigned long * *var_unsigned_long_ptr; extern vector signed int * *var_vec_s32_ptr; extern vector signed int *var_vec_s32; extern vector unsigned char * *var_vec_u8_ptr; extern vector unsigned char *var_vec_u8; extern vector unsigned int * *var_vec_u32_ptr; extern vector unsigned int *var_vec_u32; void f13() { *var_vec_s32++ = vec_ld(var_int[0], var_long_ptr[1]); *var_vec_s32++ = vec_lde(var_int[0], var_long_ptr[1]); *var_vec_s32++ = vec_ldl(var_int[0], var_long_ptr[1]); *var_vec_s32++ = vec_lvewx(var_int[0], var_long_ptr[1]); *var_vec_s32++ = vec_lvx(var_int[0], var_long_ptr[1]); *var_vec_s32++ = vec_lvxl(var_int[0], var_long_ptr[1]); } void f22() { *var_vec_u32++ = vec_ld(var_int[0], var_unsigned_long_ptr[1]); *var_vec_u32++ = vec_lde(var_int[0], var_unsigned_long_ptr[1]); *var_vec_u32++ = vec_ldl(var_int[0], var_unsigned_long_ptr[1]); *var_vec_u32++ = vec_lvewx(var_int[0], var_unsigned_long_ptr[1]); *var_vec_u32++ = vec_lvx(var_int[0], var_unsigned_long_ptr[1]); *var_vec_u32++ = vec_lvxl(var_int[0], var_unsigned_long_ptr[1]); } void f25() { *var_vec_u8++ = vec_lvsl(var_int[0], var_long_ptr[1]); *var_vec_u8++ = vec_lvsl(var_int[0], var_unsigned_long_ptr[1]); *var_vec_u8++ = vec_lvsr(var_int[0], var_long_ptr[1]); *var_vec_u8++ = vec_lvsr(var_int[0], var_unsigned_long_ptr[1]); } void f33() { vec_dst(var_long_ptr[0], var_int[1], 0); vec_dst(var_long_ptr[0], var_int[1], 1); vec_dst(var_long_ptr[0], var_int[1], 2); vec_dst(var_long_ptr[0], var_int[1], 3); vec_dst(var_unsigned_long_ptr[0], var_int[1], 0); vec_dst(var_unsigned_long_ptr[0], var_int[1], 1); vec_dst(var_unsigned_long_ptr[0], var_int[1], 2); vec_dst(var_unsigned_long_ptr[0], var_int[1], 3); } void f34() { vec_dstst(var_long_ptr[0], var_int[1], 0); vec_dstst(var_long_ptr[0], var_int[1], 1); vec_dstst(var_long_ptr[0], var_int[1], 2); vec_dstst(var_long_ptr[0], var_int[1], 3); vec_dstst(var_unsigned_long_ptr[0], var_int[1], 0); vec_dstst(var_unsigned_long_ptr[0], var_int[1], 1); vec_dstst(var_unsigned_long_ptr[0], var_int[1], 2); vec_dstst(var_unsigned_long_ptr[0], var_int[1], 3); } void f35() { vec_dststt(var_long_ptr[0], var_int[1], 0); vec_dststt(var_long_ptr[0], var_int[1], 1); vec_dststt(var_long_ptr[0], var_int[1], 2); vec_dststt(var_long_ptr[0], var_int[1], 3); vec_dststt(var_unsigned_long_ptr[0], var_int[1], 0); vec_dststt(var_unsigned_long_ptr[0], var_int[1], 1); vec_dststt(var_unsigned_long_ptr[0], var_int[1], 2); vec_dststt(var_unsigned_long_ptr[0], var_int[1], 3); vec_dstt(var_long_ptr[0], var_int[1], 0); vec_dstt(var_long_ptr[0], var_int[1], 1); vec_dstt(var_long_ptr[0], var_int[1], 2); vec_dstt(var_long_ptr[0], var_int[1], 3); } void f36() { vec_dstt(var_unsigned_long_ptr[0], var_int[1], 0); vec_dstt(var_unsigned_long_ptr[0], var_int[1], 1); vec_dstt(var_unsigned_long_ptr[0], var_int[1], 2); vec_dstt(var_unsigned_long_ptr[0], var_int[1], 3); }