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

            Bug ID: 49716
           Summary: clang segfault at -O2 in C mode, reduced test case
                    included
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]

Created attachment 24690
  --> https://bugs.llvm.org/attachment.cgi?id=24690&action=edit
Non-reduced, un-preprocessed source

Here is a reduced test case:


#include <stdlib.h>
typedef union {
  int16_t i16 __attribute__((__vector_size__(32)));
  int32_t i32 __attribute__((__vector_size__(32)));
} simde__m256i_private;
simde__m256i_private simde__m256i_to_private();
int simde_mm256_madd_epi16() {
  simde__m256i_private r_, a_ = simde__m256i_to_private(),
                           b_ = simde__m256i_to_private();
  for (size_t i = 0; i < sizeof sizeof(r_); i += 2)
    r_.i32[i] = a_.i16[i] * b_.i16[i] + a_.i16[i + 1] * b_.i16[i + 1];
  simde__m256i_from_private(r_);
}


Compile with -O2 using clang (clang++ works) on x86_64.  Godbolt link:
https://godbolt.org/z/71o5hdY4h

The problem only manifests in my codebase with clang 12, but this test case
seems to reliably reproduce the issue in earlier versions as well (back to 7 on
godbolt).

I'm also attaching the original (non-reduced) source.  Please let me know if
you need any additional information.

-- 
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