[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Feature / global_pv.ll
blobf1a7b7fd356df7c469eb8f9ed0c7b8b43a3fa20d
1 ; RUN: opt -instcombine -S < %s | llvm-as
2 ; RUN: opt -instcombine -globalopt -S < %s | llvm-as
3 @G1 = global i32 zeroinitializer
4 @G2 = global i32 zeroinitializer
5 @g = global <2 x i32*> zeroinitializer
6 %0 = type { i32, void ()*, i8* }
7 @llvm.global_ctors = appending global [1 x %0] [%0 { i32 65535, void ()* @test, i8* null }]
8 define internal void @test() {
9   %A = insertelement <2 x i32*> undef, i32* @G1, i32 0
10   %B = insertelement <2 x i32*> %A,  i32* @G2, i32 1
11   store <2 x i32*> %B, <2 x i32*>* @g
12   ret void