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
}
|