; NOTE: Assertions have been autogenerated by utils/update_llubi_test_checks.py UTC_ARGS: --version 6 ; RUN: llubi --verbose < %s 2>&1 | FileCheck %s define void @main() { %insert = insertvalue { i32, i32 } poison, i32 42, 0 %extract = extractvalue { i32, i32 } %insert, 0 %insert_update = insertvalue { i32, i32 } zeroinitializer, i32 1, 1 %insert_nested = insertvalue { i32, {{ i32, i32 }} } poison, { i32, i32 } zeroinitializer, 1, 0 %extract_nested = extractvalue { i32, {{ i32, i32 }} } %insert_nested, 1, 0, 1 ret void } ; CHECK: Entering function: main ; CHECK-NEXT: %insert = insertvalue { i32, i32 } poison, i32 42, 0 => { i32 42, poison } ; CHECK-NEXT: %extract = extractvalue { i32, i32 } %insert, 0 => i32 42 ; CHECK-NEXT: %insert_update = insertvalue { i32, i32 } zeroinitializer, i32 1, 1 => { i32 0, i32 1 } ; CHECK-NEXT: %insert_nested = insertvalue { i32, { { i32, i32 } } } poison, { i32, i32 } zeroinitializer, 1, 0 => { poison, { { i32 0, i32 0 } } } ; CHECK-NEXT: %extract_nested = extractvalue { i32, { { i32, i32 } } } %insert_nested, 1, 0, 1 => i32 0 ; CHECK-NEXT: ret void ; CHECK-NEXT: Exiting function: main