xref: /minix3/external/bsd/llvm/dist/llvm/test/ExecutionEngine/test-interp-vec-insertextractvalue.ll (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc ; RUN: %lli -force-interpreter=true %s > /dev/null
2*f4a2713aSLionel Sambuc
3*f4a2713aSLionel Sambucdefine i32 @main() {
4*f4a2713aSLionel Sambuc
5*f4a2713aSLionel Sambuc    %s1 = insertvalue { i32, { float, double} } undef, i32 9, 0
6*f4a2713aSLionel Sambuc    %s2 = insertvalue { i32, { float, double} } %s1, float 3.0, 1, 0
7*f4a2713aSLionel Sambuc    %s3 = insertvalue { i32, { float, double} } %s2, double 5.0, 1, 1
8*f4a2713aSLionel Sambuc
9*f4a2713aSLionel Sambuc    %s4 = extractvalue { i32, { float, double} } %s3, 1
10*f4a2713aSLionel Sambuc
11*f4a2713aSLionel Sambuc    %a1 = extractvalue { i32, { float, double} } %s3, 0
12*f4a2713aSLionel Sambuc
13*f4a2713aSLionel Sambuc    %a2 = extractvalue { i32, { float, double} } %s3, 1, 0
14*f4a2713aSLionel Sambuc    %a3 = extractvalue { i32, { float, double} } %s3, 1, 1
15*f4a2713aSLionel Sambuc    %a4 = extractvalue { float, double} %s4, 0
16*f4a2713aSLionel Sambuc    %a5 = extractvalue { float, double} %s4, 1
17*f4a2713aSLionel Sambuc
18*f4a2713aSLionel Sambuc    %aa = fpext float %a4 to double
19*f4a2713aSLionel Sambuc
20*f4a2713aSLionel Sambuc ret i32 0
21*f4a2713aSLionel Sambuc}
22