Douglas Gregor | 59e8b3b | 2010-08-06 10:14:59 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -faltivec -fno-lax-vector-conversions -triple powerpc-unknown-unknown -verify %s |
| 2 | |
| 3 | typedef int V4i __attribute__((vector_size(16))); |
| 4 | |
| 5 | void f(V4i a) |
| 6 | { |
| 7 | } |
| 8 | |
Anton Yartsev | 85129b8 | 2011-02-07 02:17:30 +0000 | [diff] [blame] | 9 | void test1() |
Douglas Gregor | 59e8b3b | 2010-08-06 10:14:59 +0000 | [diff] [blame] | 10 | { |
| 11 | V4i vGCC; |
| 12 | vector int vAltiVec; |
| 13 | |
| 14 | f(vAltiVec); |
| 15 | vGCC = vAltiVec; |
Anton Yartsev | 3f8f288 | 2010-11-18 03:19:30 +0000 | [diff] [blame] | 16 | bool res = vGCC > vAltiVec; |
Douglas Gregor | 59e8b3b | 2010-08-06 10:14:59 +0000 | [diff] [blame] | 17 | vAltiVec = 0 ? vGCC : vGCC; |
| 18 | } |
Anton Yartsev | 85129b8 | 2011-02-07 02:17:30 +0000 | [diff] [blame] | 19 | |
| 20 | template<typename T> |
| 21 | void template_f(T param) { |
| 22 | param++; |
| 23 | } |
| 24 | |
| 25 | void test2() |
| 26 | { |
| 27 | vector int vi; |
| 28 | ++vi; |
| 29 | vi++; |
| 30 | --vi; |
| 31 | vi--; |
| 32 | vector float vf; |
| 33 | vf++; |
| 34 | |
| 35 | ++vi=vi; |
| 36 | (++vi)[1]=1; |
| 37 | template_f(vi); |
| 38 | } |