[PATCH] [X86][SSE] Add v16i8/v32i8 multiplication support

Simon Pilgrim llvm-dev at redking.me.uk
Mon Apr 20 11:11:16 PDT 2015


Hi qcolombet, andreadb, spatel, delena,

Patch to allow int8 vectors to be multiplied on the SSE unit instead of being scalarized.

The patch sign extends the i8 lanes to i16, uses the SSE2 pmullw multiplication instruction, then packs the lower byte from each result.

Once vpackuswb zmm support is present this should also work for v64i8 multiplication on AVX512BW targets.

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D9115

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/avx2-arith.ll
  test/CodeGen/X86/pmul.ll

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9115.24030.patch
Type: text/x-patch
Size: 8970 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150420/7713f5fa/attachment.bin>


More information about the llvm-commits mailing list