blob: e2b6c552da9f7187ca6c2abca6173e285364c8a6 [file] [log] [blame]
Elena Demikhovsky0b0c5d82012-01-24 13:54:13 +00001; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -mattr=+avx | FileCheck %s
2
3define <8 x i32> @zext_8i16_to_8i32(<8 x i16> %A) nounwind uwtable readnone ssp {
Stephen Lin6f36b452013-07-18 22:47:09 +00004;CHECK-LABEL: zext_8i16_to_8i32:
Elena Demikhovsky0b0c5d82012-01-24 13:54:13 +00005;CHECK: vpunpckhwd
Nadav Rotem34ca89a2012-02-12 15:05:31 +00006;CHECK: ret
Elena Demikhovsky0b0c5d82012-01-24 13:54:13 +00007
8 %B = zext <8 x i16> %A to <8 x i32>
9 ret <8 x i32>%B
10}
11
12define <4 x i64> @zext_4i32_to_4i64(<4 x i32> %A) nounwind uwtable readnone ssp {
Stephen Lin6f36b452013-07-18 22:47:09 +000013;CHECK-LABEL: zext_4i32_to_4i64:
Elena Demikhovsky0b0c5d82012-01-24 13:54:13 +000014;CHECK: vpunpckhdq
Nadav Rotem34ca89a2012-02-12 15:05:31 +000015;CHECK: ret
Elena Demikhovsky0b0c5d82012-01-24 13:54:13 +000016
17 %B = zext <4 x i32> %A to <4 x i64>
18 ret <4 x i64>%B
19}
Nadav Rotem34ca89a2012-02-12 15:05:31 +000020
Nadav Rotem34ca89a2012-02-12 15:05:31 +000021define <8 x i32> @zext_8i8_to_8i32(<8 x i8> %z) {
Stephen Lin6f36b452013-07-18 22:47:09 +000022;CHECK-LABEL: zext_8i8_to_8i32:
Nadav Rotem34ca89a2012-02-12 15:05:31 +000023;CHECK: vpunpckhwd
Nadav Rotem3da9ac72012-12-28 05:45:24 +000024;CHECK: vpmovzxwd
Nadav Rotem34ca89a2012-02-12 15:05:31 +000025;CHECK: vinsertf128
26;CHECK: ret
27 %t = zext <8 x i8> %z to <8 x i32>
28 ret <8 x i32> %t
29}