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