[LLVMbugs] [Bug 13962] New: [ARM, NEON] "UNREACHABLE executed at CallingConvLower.cpp:111" crash with <4 x i64> vectors

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Sep 27 18:52:55 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13962

             Bug #: 13962
           Summary: [ARM,NEON] "UNREACHABLE executed at
                    CallingConvLower.cpp:111" crash with <4 x i64> vectors
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


With this program and top-of-tree:

; ModuleID = '<stdin>'
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32-S128"
target triple = "arm-apple-darwin12.1.0"

declare <2 x i64> @llvm.arm.vmaxs.v2i64(<2 x i64>, <2 x i64>) nounwind readnone

define <4 x i64> @f___vyIvyI(<4 x i64> %a, <4 x i64> %b, <4 x i32> %__mask)
nounwind {
allocas:
  %r_0a.i.i = shufflevector <4 x i64> %a, <4 x i64> undef, <2 x i32> <i32 0,
i32 1>
  %r_0b.i.i = shufflevector <4 x i64> %b, <4 x i64> undef, <2 x i32> <i32 0,
i32 1>
  %vr_0.i.i = call <2 x i64> @llvm.arm.vmaxs.v2i64(<2 x i64> %r_0a.i.i, <2 x
i64> %r_0b.i.i) nounwind
  %r_1a.i.i = shufflevector <4 x i64> %a, <4 x i64> undef, <2 x i32> <i32 2,
i32 3>
  %r_1b.i.i = shufflevector <4 x i64> %b, <4 x i64> undef, <2 x i32> <i32 2,
i32 3>
  %vr_1.i.i = call <2 x i64> @llvm.arm.vmaxs.v2i64(<2 x i64> %r_1a.i.i, <2 x
i64> %r_1b.i.i) nounwind
  %r.i.i = shufflevector <2 x i64> %vr_0.i.i, <2 x i64> %vr_1.i.i, <4 x i32>
<i32 0, i32 1, i32 2, i32 3>
  ret <4 x i64> %r.i.i
}

I get the following crash if I try to compile with llc:

% llc -mcpu=cortex-a9 -mattr=+neon bug-2.ll
Return operand #1 has unhandled type v2i64UNREACHABLE executed at
CallingConvLower.cpp:111!
Stack dump:
0.    Program arguments: llc -mcpu=cortex-a9 -mattr=+neon bug-2.ll 
1.    Running pass 'Function Pass Manager' on module 'bug-2.ll'.
2.    Running pass 'ARM Instruction Selection' on function '@f___vyIvyI'
[1]    42327 illegal hardware instruction  llc -mcpu=cortex-a9 -mattr=+neon
bug-2.ll

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list