define weak_odr <16 x i16> @packssdwx16(<16 x i32> %arg) nounwind alwaysinline { %1 = shufflevector <16 x i32> %arg, <16 x i32> undef, <8 x i32> %2 = shufflevector <16 x i32> %arg, <16 x i32> undef, <8 x i32> %3 = tail call <16 x i16> @llvm.x86.avx2.packssdw(<8 x i32> %1, <8 x i32> %2) ret <16 x i16> %3 } declare <16 x i16> @llvm.x86.avx2.packssdw(<8 x i32>, <8 x i32>) define weak_odr <32 x i8> @packuswbx32(<32 x i16> %arg) nounwind alwaysinline { %1 = shufflevector <32 x i16> %arg, <32 x i16> undef, <16 x i32> %2 = shufflevector <32 x i16> %arg, <32 x i16> undef, <16 x i32> %3 = call <32 x i8> @llvm.x86.avx2.packuswb(<16 x i16> %1, <16 x i16> %2) ret <32 x i8> %3 } declare <32 x i8> @llvm.x86.avx2.packuswb(<16 x i16>, <16 x i16>) define weak_odr <32 x i8> @packsswbx32(<32 x i16> %arg) nounwind alwaysinline { %1 = shufflevector <32 x i16> %arg, <32 x i16> undef, <16 x i32> %2 = shufflevector <32 x i16> %arg, <32 x i16> undef, <16 x i32> %3 = call <32 x i8> @llvm.x86.avx2.packsswb(<16 x i16> %1, <16 x i16> %2) ret <32 x i8> %3 } declare <32 x i8> @llvm.x86.avx2.packsswb(<16 x i16>, <16 x i16>) define weak_odr <16 x i16> @packusdwx16(<16 x i32> %arg) nounwind alwaysinline { %1 = shufflevector <16 x i32> %arg, <16 x i32> undef, <8 x i32> %2 = shufflevector <16 x i32> %arg, <16 x i32> undef, <8 x i32> %3 = tail call <16 x i16> @llvm.x86.avx2.packusdw(<8 x i32> %1, <8 x i32> %2) ret <16 x i16> %3 } declare <16 x i16> @llvm.x86.avx2.packusdw(<8 x i32>, <8 x i32>) nounwind readnone define weak_odr <32 x i8> @abs_i8x32(<32 x i8> %arg) { %1 = sub <32 x i8> zeroinitializer, %arg %2 = icmp sgt <32 x i8> %arg, zeroinitializer %3 = select <32 x i1> %2, <32 x i8> %arg, <32 x i8> %1 ret <32 x i8> %3 } define weak_odr <16 x i16> @abs_i16x16(<16 x i16> %arg) { %1 = sub <16 x i16> zeroinitializer, %arg %2 = icmp sgt <16 x i16> %arg, zeroinitializer %3 = select <16 x i1> %2, <16 x i16> %arg, <16 x i16> %1 ret <16 x i16> %3 } define weak_odr <8 x i32> @abs_i32x8(<8 x i32> %arg) { %1 = sub <8 x i32> zeroinitializer, %arg %2 = icmp sgt <8 x i32> %arg, zeroinitializer %3 = select <8 x i1> %2, <8 x i32> %arg, <8 x i32> %1 ret <8 x i32> %3 }