; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2 ; RUN: opt -passes=verify -S < %s 2>&1 | FileCheck %s %struct.test = type { , } define @load(%struct.test* %x) { ; CHECK-LABEL: define @load ; CHECK-SAME: (ptr [[X:%.*]]) { ; CHECK-NEXT: [[A:%.*]] = load [[STRUCT_TEST:%.*]], ptr [[X]], align 4 ; CHECK-NEXT: [[B:%.*]] = extractvalue [[STRUCT_TEST]] [[A]], 1 ; CHECK-NEXT: ret [[B]] ; %a = load %struct.test, %struct.test* %x %b = extractvalue %struct.test %a, 1 ret %b } define void @store(%struct.test* %x, %y, %z) { ; CHECK-LABEL: define void @store ; CHECK-SAME: (ptr [[X:%.*]], [[Y:%.*]], [[Z:%.*]]) { ; CHECK-NEXT: [[A:%.*]] = insertvalue [[STRUCT_TEST:%.*]] undef, [[Y]], 0 ; CHECK-NEXT: [[B:%.*]] = insertvalue [[STRUCT_TEST]] [[A]], [[Z]], 1 ; CHECK-NEXT: store [[STRUCT_TEST]] [[B]], ptr [[X]], align 4 ; CHECK-NEXT: ret void ; %a = insertvalue %struct.test undef, %y, 0 %b = insertvalue %struct.test %a, %z, 1 store %struct.test %b, %struct.test* %x ret void }