Bug ID: 30473
           Summary: [mips] MSA instrinsic can cause an ICE.
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
    Classification: Unclassified

When the 3rd argument to binsri / binsri exceeds the number of elements, LLVM
suffers an ICE.

Test case:

#include <msa.h>

void test() {
  v16i8 v16i8_a = (v16i8) {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
  v16i8 v16i8_r = (v16i8) {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
  v16i8_r = __msa_binsri_b (v16i8_r, v16i8_a, 25)

This occurs as due to an assert in APInt::getLowBitsSet() as the number of bits
set is greater than the result.

This requires patch for clang for custom type checking and one in LLVM to
report a fatal error.

You are receiving this mail because:
You are on the CC list for the bug.
llvm-bugs mailing list

Reply via email to