aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Verifier/target-ext-vector.ll
blob: 433715bc6c6438087b57398f37bd1d3e15cbc200 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
; 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
}