[llvm-bugs] [Bug 39281] New: [ARM][NEON] Missing vXi64 popcnt lowering

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Oct 13 14:45:52 PDT 2018


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

            Bug ID: 39281
           Summary: [ARM][NEON] Missing vXi64 popcnt lowering
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: efriedma at codeaurora.org, llvm-bugs at lists.llvm.org,
                    sam.parker at arm.com, t.p.northover at gmail.com,
                    tim.northover at arm.com
            Blocks: 32655

Discovered while adding CTPOP vector expansion support (PR32655), vXi8, vXi16
and vXi32 popcnt lowering is present but vXi64 is missing.

IIRC from the last time I touched a raspberry-pi, this should be achievable
with:

uint64x2_t a
  vpaddlq_u32( vpaddlq_u16( vpaddlq_u8( vcntq_u8( vreinterpretq_u8_u64(a) ) ) )
)

Interestingly, the vXi16 and vXi32 lowerings don't use the PADDL instructions,
so there might be a reason I'm not aware of to avoid these?


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=32655
[Bug 32655] Improve generic vector CTPOP expansion
-- 
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/20181013/444be732/attachment.html>


More information about the llvm-bugs mailing list