low_array_add_su10x3b_ptr.c
348 Bytes
//A: --has-swar
//C: -daiteq-swar-enable
#include <stdint.h>
#define ARRAYSIZE 20
typedef unsigned int su10x3b __attribute__((subword(3)));
int main(void)
{
volatile su10x3b a[ARRAYSIZE], b[ARRAYSIZE], z[ARRAYSIZE];
su10x3b *pa = a, *pb = b, *pz = z;
for (register int i=0;i<ARRAYSIZE;++i)
*pz++ = *pa++ + *pb++;
return 0;
}