| /* APPLE LOCAL file radar 4534261 */ |
| /* { dg-do compile { target powerpc*-*-* } } */ |
| /* { dg-options "-O2 -faltivec" } */ |
| |
| typedef vector float vFloat; |
| |
| static vFloat _v_shuffle_two (vFloat fp0, vFloat fp1, const int i0) |
| { |
| float fu = fu; |
| float f0 = i0 < 4 ? ((float *) &fp0)[i0] : (i0 < 8 ? ((float *) &fp1)[i0 - 4] : fu); |
| return (vFloat) {f0, f0, f0, f0}; |
| } |
| |
| void foo() |
| { |
| vFloat *argA; |
| vFloat *res; |
| vFloat vfpconst; |
| unsigned int sw, sc; |
| res[2] = _v_shuffle_two (_v_shuffle_two (argA[2], -argA[2], sw), vfpconst, sc); |
| res[1] = _v_shuffle_two (_v_shuffle_two (argA[1], -argA[1], sw), vfpconst, sc); |
| } |
| /* APPLE LOCAL file radar 4534261 */ |