; REQUIRES: asserts ; RUN: llc -mtriple=hexagon -O2 < %s | FileCheck %s ;; Test that a vdeal + vpack can be lowered. ; CHECK: v[[#V1:]]:[[#V0:]] = vdeal(v[[#]],v[[#]],r[[#]]) ; CHECK: v[[#]].h = vpacke(v[[#V1]].w,v[[#V0]].w) target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048" target triple = "hexagon" define dso_local <64 x i16> @f(<128 x i16> noundef %index) local_unnamed_addr #1 { entry: %b = shufflevector <128 x i16> %index, <128 x i16> poison, <64 x i32> ret <64 x i16> %b } attributes #1 = { mustprogress nofree norecurse nosync nounwind willreturn "target-cpu"="hexagonv75" "target-features"="+hvx-length128b,+hvx" }