This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
vec_ld versus vec_vsx_ld on power8
- From: Ewart TimothÃe <timothee dot ewart at epfl dot ch>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Fri, 13 Mar 2015 09:04:19 +0000
- Subject: vec_ld versus vec_vsx_ld on power8
- Authentication-results: sourceware.org; auth=none
Hello all,
I have a issue/question using VMX/VSX on Power8 processor on a little endian system.
Using intrinsics function, if I perform an operation with vec_vsx_ld(â) - vet_vsx_st(), the compiler will add
a permutation, and then perform an operations (memory correctly aligned)
lxvd2x â
xxpermdi â
operations â.
xxpermdi
stxvd2x â
If I use vec_ld() - vec_st()
lvx
operations â
stvx
Reading the ISA, I do not see a real difference between this 2 instructions ( or I miss it)
So my 3 questions are:
Why do I have permutations ?
What is the cost of these permutations ?
What is the difference vet_vsx_ld and vec_ld for the performance ?
Best
Tim
TimothÃe Ewart, Ph. D.
http://www.linkedin.com/in/tewart
timothee.ewart@epfl.ch