[llvm-bugs] [Bug 40798] New: GlobalISel unimplemented reg-to-reg copy assertion
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Feb 21 01:43:29 PST 2019
https://bugs.llvm.org/show_bug.cgi?id=40798
Bug ID: 40798
Summary: GlobalISel unimplemented reg-to-reg copy assertion
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: AArch64
Assignee: unassignedbugs at nondot.org
Reporter: sam.parker at arm.com
CC: arnaud.degrandmaison at arm.com,
llvm-bugs at lists.llvm.org, peter.smith at linaro.org,
Ties.Stuij at arm.com
Created attachment 21500
--> https://bugs.llvm.org/attachment.cgi?id=21500&action=edit
reproducer at -O0
Running llc at -O0 with the attached .ll file results in an assertion in
llvm::AArch64InstrInfo::copyPhysReg. I don't know anything about GlobalISel but
from the debug output, I think the offending instructions are these:
%20:_(<4 x s32>) = G_EXTRACT %19:_(s384), 0
%21:_(<4 x s32>) = G_EXTRACT %19:_(s384), 128
%22:_(<4 x s32>) = G_EXTRACT %19:_(s384), 256
Which get legalised into:
%20:fpr(<4 x s32>) = G_BUILD_VECTOR %189:gpr(s64), %191:gpr(s64)
%21:fpr(<4 x s32>) = G_BUILD_VECTOR %179:gpr(s64), %181:gpr(s64)
%22:fpr(<4 x s32>) = G_BUILD_VECTOR %169:gpr(s64), %171:gpr(s64)
Which I believe is incorrect because of the type mismatch between the scalars
and the elements of the resulting vector.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190221/cc698ed7/attachment-0001.html>
More information about the llvm-bugs
mailing list