; RUN: llc -march=hexagon < %s | FileCheck %s ; CHECK-LABEL: test_0000 ; CHECK: v0.b = vshuffe(v1.b,v0.b) define <256 x i8> @test_0000(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0001 ; CHECK: v0.b = vshuffo(v1.b,v0.b) define <256 x i8> @test_0001(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0002 ; CHECK: v0.h = vshuffe(v1.h,v0.h) define <256 x i8> @test_0002(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0003 ; CHECK: v0.h = vshuffo(v1.h,v0.h) define <256 x i8> @test_0003(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0004 ; CHECK: v0.b = vpacke(v1.h,v0.h) define <256 x i8> @test_0004(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0005 ; CHECK: v0.b = vpacko(v1.h,v0.h) define <256 x i8> @test_0005(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0006 ; CHECK: v0.h = vpacke(v1.w,v0.w) define <256 x i8> @test_0006(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0007 ; CHECK: v0.h = vpacko(v1.w,v0.w) define <256 x i8> @test_0007(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } ; CHECK-LABEL: test_0008 ; CHECK: v0.b = vdeale(v1.b,v0.b) define <256 x i8> @test_0008(<256 x i8> %v0) #0 { %p = shufflevector <256 x i8> %v0, <256 x i8> undef, <256 x i32> ret <256 x i8> %p } attributes #0 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length128b" }