| /* Testcase by Martin Michlmayr <tbm@cyrius.com> */ | |
| /* { dg-do compile } */ | |
| /* { dg-require-effective-target vect_shift } */ | |
| int clamp_val (int i) | |
| { | |
| return ~i >> 31; | |
| } | |
| typedef __PTRDIFF_TYPE__ intptr_t; | |
| void _mix_some_samples (intptr_t buf, int *mix_buffer, int mix_size) | |
| { | |
| int i; | |
| signed int *p = mix_buffer; | |
| for (i = mix_size ; i > 0; i--) | |
| { | |
| *((short *) buf) = clamp_val ((*p) + 0x800000); | |
| buf += 2; | |
| p++; | |
| } | |
| } | |