> v4si a = *(v4si*)ins, b = {1, 2, 3, 4}, c; > *(v4si*)vals = c; You can't do this. Your accessing an object of one type (int) as an other type (v4si). You'll have to go through a union to do this safely (this is a GCC extension). Like: union { v4si v; int i[4]; } convert; convert.v = c; ...and then print convert.i[0] etc. Segher