; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=core-avx2 -mattr=+avx2 | FileCheck %s ; CHECK: vpunpckhdq define <8 x i32> @unpackhidq1(<8 x i32> %src1, <8 x i32> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <8 x i32> %src1, <8 x i32> %src2, <8 x i32> ret <8 x i32> %shuffle.i } ; CHECK: vpunpckhqdq define <4 x i64> @unpackhiqdq1(<4 x i64> %src1, <4 x i64> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <4 x i64> %src1, <4 x i64> %src2, <4 x i32> ret <4 x i64> %shuffle.i } ; CHECK: vpunpckldq define <8 x i32> @unpacklodq1(<8 x i32> %src1, <8 x i32> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <8 x i32> %src1, <8 x i32> %src2, <8 x i32> ret <8 x i32> %shuffle.i } ; CHECK: vpunpcklqdq define <4 x i64> @unpacklqdq1(<4 x i64> %src1, <4 x i64> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <4 x i64> %src1, <4 x i64> %src2, <4 x i32> ret <4 x i64> %shuffle.i } ; CHECK: vpunpckhwd define <16 x i16> @unpackhwd(<16 x i16> %src1, <16 x i16> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <16 x i16> %src1, <16 x i16> %src2, <16 x i32> ret <16 x i16> %shuffle.i } ; CHECK: vpunpcklwd define <16 x i16> @unpacklwd(<16 x i16> %src1, <16 x i16> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <16 x i16> %src1, <16 x i16> %src2, <16 x i32> ret <16 x i16> %shuffle.i } ; CHECK: vpunpckhbw define <32 x i8> @unpackhbw(<32 x i8> %src1, <32 x i8> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <32 x i8> %src1, <32 x i8> %src2, <32 x i32> ret <32 x i8> %shuffle.i } ; CHECK: vpunpcklbw define <32 x i8> @unpacklbw(<32 x i8> %src1, <32 x i8> %src2) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <32 x i8> %src1, <32 x i8> %src2, <32 x i32> ret <32 x i8> %shuffle.i } ; CHECK: vpunpckhdq define <8 x i32> @unpackhidq1_undef(<8 x i32> %src1) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <8 x i32> %src1, <8 x i32> %src1, <8 x i32> ret <8 x i32> %shuffle.i } ; CHECK: vpunpckhqdq define <4 x i64> @unpackhiqdq1_undef(<4 x i64> %src1) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <4 x i64> %src1, <4 x i64> %src1, <4 x i32> ret <4 x i64> %shuffle.i } ; CHECK: vpunpckhwd define <16 x i16> @unpackhwd_undef(<16 x i16> %src1) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <16 x i16> %src1, <16 x i16> %src1, <16 x i32> ret <16 x i16> %shuffle.i } ; CHECK: vpunpcklwd define <16 x i16> @unpacklwd_undef(<16 x i16> %src1) nounwind uwtable readnone ssp { entry: %shuffle.i = shufflevector <16 x i16> %src1, <16 x i16> %src1, <16 x i32> ret <16 x i16> %shuffle.i }