; RUN: llc -march=hexagon < %s | FileCheck %s ; This test checks if we custom lower extract_subvector. If we cannot ; custom lower extract_subvector this test makes the compiler crash. ; CHECK: vmem target triple = "hexagon-unknown--elf" define void @f0(<64 x i16>* %a0) #0 { b0: %v0 = tail call <64 x i32> @llvm.hexagon.V6.vshuffvdd.128B(<32 x i32> undef, <32 x i32> undef, i32 -2) %v1 = bitcast <64 x i32> %v0 to <128 x i16> %v2 = shufflevector <128 x i16> %v1, <128 x i16> undef, <64 x i32> store <64 x i16> %v2, <64 x i16>* %a0, align 128 ret void } declare <64 x i32> @llvm.hexagon.V6.vshuffvdd.128B(<32 x i32>, <32 x i32>, i32) #1 attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length128b" } attributes #1 = { nounwind readnone "target-cpu"="hexagonv60" "target-features"="+hvx,+hvx-length128b" }