Skip to content

V6_vS32Ub_npred_ai - UNREACHABLE executed at HexagonInstrInfo.cpp:2958! #160647

@androm3da

Description

@androm3da

llc fails like the below when given the reduced testcase below. This test case was reduced from a work-in-progress port of Highway to Hexagon HVX. The original source file is hwy/tests/interleaved_test.cc from https://github.com/google/highway

$ cat ../llvm-project/hwy_int/reduced.ll
target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
target triple = "hexagon-unknown-linux-musl"

define fastcc void @_ZN3hwy5N_HVX12_GLOBAL__N_125TestLoadStoreInterleaved2clIaNS0_4SimdIaLj128ELi0EEEEEvT_T0_(i1 %cmp.i.i) {
entry:
  %call.i.i.i172 = load ptr, ptr null, align 4
  %add.ptr = getelementptr i8, ptr %call.i.i.i172, i32 1
  store <32 x i32> zeroinitializer, ptr %add.ptr, align 128
  %add.ptr4.i4 = getelementptr i8, ptr %call.i.i.i172, i32 129
  br i1 %cmp.i.i, label %common.ret, label %if.end.i.i

common.ret:                                       ; preds = %if.end.i.i, %entry
  ret void

if.end.i.i:                                       ; preds = %entry
  store <32 x i32> zeroinitializer, ptr %add.ptr4.i4, align 1
  br label %common.ret
}

/bin/llc -mtriple=hexagon-unknown-linux-musl -mcpu=hexagonv68 -mattr=+hvxv68,+hvx-length128b -O2 ../llvm-project/hwy_int/reduced.ll 
ninja: no work to do.
Failed Opcode is : 2714 (V6_vS32Ub_npred_ai)
No offset range is defined for this opcode. Please define it in the above switch statement!
UNREACHABLE executed at /home/brian/src/toolchain_for_hexagon/llvm-project/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp:2958!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./bin/llc -mtriple=hexagon-unknown-linux-musl -mcpu=hexagonv68 -mattr=+hvxv68,+hvx-length128b -O2 ../llvm-project/hwy_int/reduced.ll
1.      Running pass 'Function Pass Manager' on module '../llvm-project/hwy_int/reduced.ll'.
2.      Running pass 'Optimize addressing mode of load/store' on function '@_ZN3hwy5N_HVX12_GLOBAL__N_125TestLoadStoreInterleaved2clIaNS0_4SimdIaLj128ELi0EEEEEvT_T0_'
 #0 0x00006271153db9e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (./bin/llc+0x80939e8)
 #1 0x00006271153d90e5 llvm::sys::RunSignalHandlers() (./bin/llc+0x80910e5)
...

Metadata

Metadata

Assignees

Type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions