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: tliv...@google.com
          Reporter: z...@google.com
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to