xref: /aosp_15_r20/external/llvm/test/Integer/BitPacked.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
2*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3*9880d681SAndroid Build Coastguard Worker; RUN: diff %t1.ll %t2.ll
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker@foo1 = external global <4 x float>
6*9880d681SAndroid Build Coastguard Worker@foo2 = external global <2 x i10>
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine void @main()
10*9880d681SAndroid Build Coastguard Worker{
11*9880d681SAndroid Build Coastguard Worker        store <4 x float> <float 1.0, float 2.0, float 3.0, float 4.0>, <4 x float>* @foo1
12*9880d681SAndroid Build Coastguard Worker        store <2 x i10> <i10 4, i10 4>, <2 x i10>* @foo2
13*9880d681SAndroid Build Coastguard Worker	%l1 = load <4 x float>, <4 x float>* @foo1
14*9880d681SAndroid Build Coastguard Worker        %l2 = load <2 x i10>, <2 x i10>* @foo2
15*9880d681SAndroid Build Coastguard Worker        %r1 = extractelement <2 x i10> %l2, i32 1
16*9880d681SAndroid Build Coastguard Worker        %r2 = extractelement <2 x i10> %l2, i32 0
17*9880d681SAndroid Build Coastguard Worker        %t = mul i10 %r1, %r2
18*9880d681SAndroid Build Coastguard Worker        %r3 = insertelement <2 x i10> %l2, i10 %t, i32 0
19*9880d681SAndroid Build Coastguard Worker        store <2 x i10> %r3, <2 x i10>* @foo2
20*9880d681SAndroid Build Coastguard Worker        ret void
21*9880d681SAndroid Build Coastguard Worker}
22