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

            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
          Assignee: unassignedb...@nondot.org
          Reporter: simon.dar...@imgtec.com
                CC: llvm-bugs@lists.llvm.org
    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
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to