; RUN: llc -march=hexagon < %s | FileCheck %s ; CHECK-LABEL: concat_8: ; CHECK: v[[H00:[0-9]+]]:[[L00:[0-9]+]] = vcombine(v0,v1) ; CHECK: v1:0 = vcombine(v[[H00]],v[[L00]]) define <256 x i8> @concat_8(<128 x i8> %v0, <128 x i8> %v1) #0 { %p = shufflevector <128 x i8> %v0, <128 x i8> %v1, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: concat_16: ; CHECK: v[[H00:[0-9]+]]:[[L00:[0-9]+]] = vcombine(v0,v1) ; CHECK: v1:0 = vcombine(v[[H00]],v[[L00]]) define <128 x i16> @concat_16(<64 x i16> %v0, <64 x i16> %v1) #0 { %p = shufflevector <64 x i16> %v0, <64 x i16> %v1, <128 x i32> ret <128 x i16> %p } ; CHECK-LABEL: concat_32: ; CHECK: v[[H10:[0-9]+]]:[[L10:[0-9]+]] = vcombine(v0,v1) ; CHECK: v1:0 = vcombine(v[[H10]],v[[L10]]) define <64 x i32> @concat_32(<32 x i32> %v0, <32 x i32> %v1) #0 { %p = shufflevector <32 x i32> %v0, <32 x i32> %v1, <64 x i32> ret <64 x i32> %p } attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length128b" }