| // { dg-do compile { target i?86-*-* x86_64-*-* } } | |
| // { dg-options "-O3 -msse2" } | |
| // { dg-require-effective-target sse2 } | |
| // You can make NON-template typedefs with a large alignment. | |
| typedef double AlignedDoubleType __attribute__((aligned(16))); | |
| template <typename RealType> | |
| RealType f(const RealType* p) | |
| { | |
| // But if you use a template parameter it complains. | |
| typedef RealType AlignedRealType __attribute__((aligned(16))); | |
| return p[0]; | |
| } | |
| double f2(const double* p) | |
| { | |
| return f<double>(p); | |
| } |