xref: /llvm-project/llvm/test/Assembler/insertextractvalue.ll (revision 7283f48a05de46fe8721ee6c29b1b6427e7d1a33)
1; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
2; RUN: verify-uselistorder %s
3
4; CHECK:      @foo
5; CHECK-NEXT: load
6; CHECK-NEXT: extractvalue
7; CHECK-NEXT: insertvalue
8; CHECK-NEXT: store
9; CHECK-NEXT: ret
10define float @foo({{i32},{float, double}}* %p) nounwind {
11  %t = load {{i32},{float, double}}, {{i32},{float, double}}* %p
12  %s = extractvalue {{i32},{float, double}} %t, 1, 0
13  %r = insertvalue {{i32},{float, double}} %t, double 2.0, 1, 1
14  store {{i32},{float, double}} %r, {{i32},{float, double}}* %p
15  ret float %s
16}
17