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

            Bug ID: 40632
           Summary: [AArch64] Very bad code generation with shuffles and
                    llvm.aarch64.neon.smull.v4i32
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AArch64
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected]

#include <arm_neon.h>

int32x4_t f(int32x4_t vacc, int16x8_t vb, int16x8_t va) {
    return vmull_lane_s16(vget_low_s16(vb), vget_low_s16(va), 0);
}

Produces:

        dup     v0.8h, v2.h[0]
        ext     v0.16b, v0.16b, v0.16b, #8
        smull   v0.4s, v1.4h, v0.4h
        ret

Something is obviously going terribly wrong here.

I'll have a patch soon, I think.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to