It varies very much between architectures.
I just checked, and simple copies of this structure are absolutely
atrocious in GCC 3.2 (I tried Alpha, Mips64 and Sparc64). The code
was approx. 3 times longer to copy the 32:32 struct than to copy a 64
bit scalar.
On x86_64, the struct produces the same code as the scalar.
The same is true on s390x.
If you change this to test 16:16, on i386 (or x86_64 with -m32),
the struct still produces the same code as the scalar.
Looks like a part of GCC that might be easy to improve, given that it
works quite well on some architectures already.
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/