1 ; RUN: %lli -force-interpreter=true %s > /dev/null
2
3define i32 @main() {
4
5    %s1 = insertvalue { i32, { float, double} } undef, i32 9, 0
6    %s2 = insertvalue { i32, { float, double} } %s1, float 3.0, 1, 0
7    %s3 = insertvalue { i32, { float, double} } %s2, double 5.0, 1, 1
8
9    %s4 = extractvalue { i32, { float, double} } %s3, 1
10
11    %a1 = extractvalue { i32, { float, double} } %s3, 0
12
13    %a2 = extractvalue { i32, { float, double} } %s3, 1, 0
14    %a3 = extractvalue { i32, { float, double} } %s3, 1, 1
15    %a4 = extractvalue { float, double} %s4, 0
16    %a5 = extractvalue { float, double} %s4, 1
17
18    %aa = fpext float %a4 to double
19
20 ret i32 0
21}
22