| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -passes=verify -S %s | FileCheck %s |
| |
| define <2 x target("llvm.test.vectorelement")> @vec_ops(<2 x target("llvm.test.vectorelement")> %x) { |
| ; CHECK-LABEL: define <2 x target("llvm.test.vectorelement")> @vec_ops( |
| ; CHECK-SAME: <2 x target("llvm.test.vectorelement")> [[X:%.*]]) { |
| ; CHECK-NEXT: [[A:%.*]] = alloca <2 x target("llvm.test.vectorelement")>{{.*}} |
| ; CHECK-NEXT: store <2 x target("llvm.test.vectorelement")> [[X]], ptr [[A]], {{.*}} |
| ; CHECK-NEXT: [[LOAD:%.*]] = load <2 x target("llvm.test.vectorelement")>, ptr [[A]], {{.*}} |
| ; CHECK-NEXT: [[ELT:%.*]] = extractelement <2 x target("llvm.test.vectorelement")> [[LOAD]], i64 0 |
| ; CHECK-NEXT: [[RES:%.*]] = insertelement <2 x target("llvm.test.vectorelement")> poison, target("llvm.test.vectorelement") [[ELT]], i64 1 |
| ; CHECK-NEXT: ret <2 x target("llvm.test.vectorelement")> [[RES]] |
| ; |
| %a = alloca <2 x target("llvm.test.vectorelement")> |
| store <2 x target("llvm.test.vectorelement")> %x, ptr %a |
| %load = load <2 x target("llvm.test.vectorelement")>, ptr %a |
| %elt = extractelement <2 x target("llvm.test.vectorelement")> %load, i64 0 |
| %res = insertelement <2 x target("llvm.test.vectorelement")> poison, target("llvm.test.vectorelement") %elt, i64 1 |
| ret <2 x target("llvm.test.vectorelement")> %res |
| } |