https://bugs.llvm.org/show_bug.cgi?id=50709
Bug ID: 50709
Summary: i386 codegen can fail when doing multiples on v6i32
vectors
Product: new-bugs
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: release blocker
Priority: P
Component: new bugs
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected]
Created attachment 24953
--> https://bugs.llvm.org/attachment.cgi?id=24953&action=edit
sample for repro
(Appears to have been injected by https://reviews.llvm.org/D103881)
reduceVMULWidth() in X86ISelLowering.cpp assumes that a vector operand with an
even number of elements can be changed to a vector with the same number of
elements but with an element of type i16. This isn't always the case, though;
if the value in question is Simple, it will attempt to update the relevant MVT
value, and only certain combinations of those are legal. In the failure case
I'm uploading, the code is attempting to convert a v6i32 (which has a valid MVT
value as of the change above) into a v6i16 (which does not have a valid MVT
value).
To replicate:
- sync to LLVM commit 2c2d2922a24b7fa8a92f38d9043ab476d330210d or later
- be sure to compile with assertions enabled
- build llc
- llc --mcpu=k8 --mtriple=i386--linux-gnu -o - -O3 err_func.ll
- see assertion failure
--
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