/* { dg-do compile { target int128 } } */ | |
/* { dg-options "-O2 -msse2" } */ | |
typedef unsigned __int128 v1ti __attribute__ ((__vector_size__ (16))); | |
v1ti x; | |
v1ti y; | |
v1ti z; | |
void and2() | |
{ | |
x &= y; | |
} | |
void and3() | |
{ | |
x = y & z; | |
} | |
void ior2() | |
{ | |
x |= y; | |
} | |
void ior3() | |
{ | |
x = y | z; | |
} | |
void xor2() | |
{ | |
x ^= y; | |
} | |
void xor3() | |
{ | |
x = y ^ z; | |
} | |
void not1() | |
{ | |
x = ~x; | |
} | |
void not2() | |
{ | |
x = ~y; | |
} | |
/* { dg-final { scan-assembler-times "pand" 2 } } */ | |
/* { dg-final { scan-assembler-times "por" 2 } } */ | |
/* { dg-final { scan-assembler-times "pxor" 4 } } */ |