[PATCH] [X86][SSE] Vectorized i8 and i16 shift operators
Simon Pilgrim
llvm-dev at redking.me.uk
Thu May 21 15:08:27 PDT 2015
Thanks Elena, I'll get a fix for the AVX2 shifts done but can you explain the PSRAD approach please?
REPOSITORY
rL LLVM
================
Comment at: test/CodeGen/X86/avx2-vector-shifts.ll:274
@@ +273,3 @@
+
+define <16 x i16> @shl_16i16(<16 x i16> %r, <16 x i16> %a) nounwind {
+; CHECK-LABEL: shl_16i16
----------------
delena wrote:
> You can extend to 2 vectors of <8 x i32> and use variable shift left VPSLLVD.
No problem - I'll adapt the existing 8i16 AVX2 shift code.
================
Comment at: test/CodeGen/X86/vec_shift8.ll:201
@@ +200,3 @@
+;
+; SSE41: movdqa %xmm0, %xmm2
+; SSE41-NEXT: movdqa %xmm1, %xmm0
----------------
delena wrote:
> extend to 2 vectors of <4 x i32> and use PSRAD instruction
Can you explain this? I'm not sure what PSRAD will give us.
http://reviews.llvm.org/D9474
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list