[llvm-bugs] [Bug 50436] New: Codegen for shuffle (similar to vget_low_s8) can be improved

via llvm-bugs llvm-bugs at lists.llvm.org
Fri May 21 09:45:34 PDT 2021


https://bugs.llvm.org/show_bug.cgi?id=50436

            Bug ID: 50436
           Summary: Codegen for shuffle (similar to vget_low_s8) can be
                    improved
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: WebAssembly
          Assignee: tlively at google.com
          Reporter: zhin at google.com
                CC: llvm-bugs at lists.llvm.org

PTAL https://godbolt.org/z/bhh56TxYe

The use of __builtin_shufflevector is to extract the 8 low uint8_t elements
from a uint8x16_t into a uint8x8_t. It seems like due to the way the vector
extension is used to represent Wasm's SIMD128, we are lowering to a lot of
i8x16.extract_lane and i16x8.replace_lane.

Contrast it with native x86 codegen, which is a no-op (and it is, because it is
extracting the low 64-bits of a 128-bit vector into the low 64-bits).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210521/4fc6d659/attachment.html>


More information about the llvm-bugs mailing list