nemanjai added inline comments.

================
Comment at: lib/Headers/altivec.h:11908
+#define vec_extract4b(__a, __b)                                                
\
+   vec_reve((vector unsigned long long)                                        
\
+                __builtin_vsx_xxextractuw((__a), (12 - (__b & 0xF))))
----------------
I find it difficult to follow and understand this logic when it's in the header.
What I'd prefer to see here is that the macro simply expands into 
`__builtin_vsx_xxextractuw` and then handle all this logic in the code that 
emits an intrinsic call.
Namely if the target is little endian, we adjust the parameter, emit the 
intrinsic call and finally emit a shufflevector.


Repository:
  rL LLVM

https://reviews.llvm.org/D26546



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to