------- Comment #4 from pinskia at gcc dot gnu dot org 2008-12-29 02:28 ------- If you are using the specific intrinsics, you need to use a literal n here.
Try: template < typename T> inline T rot_veci( T v, const int n ) __atrribute__((always_inline)) template < typename T> inline T rot_veci( T v, const int n ) { return (T) si_rotqbyi( (qword)v, n ); } Other wise you can use the generic intrinsics which will then do the correct thing. This is not a bug really because by default GCC does not do any constant prop or inlining at -O0 except functions marked as always_inline with a const marked argument. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35889