[llvm-bugs] [Bug 43719] New: [AARCH64] vector zext hangs/crashes with NEON disabled
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Oct 18 22:30:10 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=43719
Bug ID: 43719
Summary: [AARCH64] vector zext hangs/crashes with NEON disabled
Product: libraries
Version: trunk
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Backend: AArch64
Assignee: unassignedbugs at nondot.org
Reporter: husseydevin at gmail.com
CC: arnaud.degrandmaison at arm.com,
llvm-bugs at lists.llvm.org, peter.smith at linaro.org,
Ties.Stuij at arm.com
define @zext_v2xi32(<2 x i32> %vec)
{
%extended = zext <2 x i32> %vec to <2 x i64>
ret <2 x i64> %extended
}
llc -march=aarch64 -mattr=-neon
I would expect something like this (if I am correct in that <2 x i32> is passed
as i32 *):
zext_v2xi32:
ldp w0, w1, [x0]
ret
But instead, I either get a segfault (on Termux's 8.0.1 build), or an infinite
loop (9.0.0 on archlinuxarm or trunk w/debug). With every other known
architecture, SIMD types still scalarize properly with SIMD disabled, given
that llvm intrinsics aren't used.
Enabling debug output in llc spams this:
Combining: t7: i64 = Constant<0>
Combining: t6: v2i64 = zero_extend t5
Creating new node: tNNNNN: v1i64 = extract_subvector t6, Constant:i64<0>
Creating new node: tNNNNN+1: v1i64 = extract_subvector t6, Constant:i64<1>
--
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/20191019/5fe2a74c/attachment.html>
More information about the llvm-bugs
mailing list