llvm-project/llvm/test/CodeGen/X86/fold-vector-bv-crash.ll
Fangrui Song 2262b04cab [test] Add explicit dso_local to constant/global variable declarations
They are currently implicit because TargetMachine::shouldAssumeDSOLocal implies
dso_local.

For external data, clang -fno-pic emits the dso_local specifier for ELF and
non-MinGW COFF. Adding explicit dso_local makes these tests in align with the
clang behavior and helps implementing an option to use GOT indirection for
external data access in -fno-pic mode (to avoid copy relocations).
2020-12-04 13:51:01 -08:00

18 lines
485 B
LLVM

; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx
; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx
;
; llvm-stress generated crash case due to build_vector implicit
; truncation bug from constant folding after legalization.
;
@G = external dso_local global i32
define void @bv_crash_test() {
%I = insertelement <4 x i64> zeroinitializer, i64 15910, i32 0
%Tr = trunc <4 x i64> %I to <4 x i8>
%Bc = bitcast <4 x i8> %Tr to i32
store volatile i32 %Bc, i32* @G
ret void
}