blob: 3a3328084a809534b2a0503e00379ce96adb10b2 [file] [log] [blame]
; RUN: clspv-opt --LongVectorLowering --instcombine %s -o %t
; RUN: FileCheck %s < %t
target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
target triple = "spir-unknown-unknown"
define spir_func <8 x i32> @test(<8 x i32> %xs) {
%a = extractelement <8 x i32> %xs, i32 0
%b = extractelement <8 x i32> %xs, i32 1
%tmp = insertelement <8 x i32> %xs, i32 %a, i32 1
%ret = insertelement <8 x i32> %tmp, i32 %b, i32 0
ret <8 x i32> %ret
}
; CHECK-LABEL: @test
; CHECK-SAME: ([[INT8:{ i32, i32, i32, i32, i32, i32, i32, i32 }]] [[XS:%[^ ]+]])
; CHECK-DAG: [[A:%[^ ]+]] = extractvalue [[INT8]] [[XS]], 0
; CHECK-DAG: [[B:%[^ ]+]] = extractvalue [[INT8]] [[XS]], 1
; CHECK-DAG: insertvalue {{.*}} i32 [[A]], 1
; CHECK-DAG: insertvalue {{.*}} i32 [[B]], 0