This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

vec_ld versus vec_vsx_ld on power8


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







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]