blob: de930af75b2d868b93207b09efff7e8b1d792970 [file] [log] [blame]
Ehsan Amiria538b0f2016-08-03 18:17:35 +00001; RUN: llc -verify-machineinstrs < %s | FileCheck %s
Hal Finkel77c8b7f2015-09-02 16:52:37 +00002target datalayout = "E-m:e-i64:64-n32:64"
3target triple = "powerpc64-unknown-linux-gnu"
4
5; Function Attrs: nounwind
6define <2 x i32> @test1(<4 x i32> %wide.vec) #0 {
7entry:
8 %strided.vec = shufflevector <4 x i32> %wide.vec, <4 x i32> undef, <2 x i32> <i32 0, i32 2>
9 ret <2 x i32> %strided.vec
10
11; CHECK-LABEL: @test1
Nemanja Ivanoviceebbcb62016-07-12 12:16:27 +000012; CHECK: xxswapd 35, 34
13; CHECK: vmrghw 2, 2, 3
Hal Finkel77c8b7f2015-09-02 16:52:37 +000014; CHECK: blr
15}
16
17; Function Attrs: nounwind
18define <16 x i8> @test2(<16 x i8> %wide.vec) #0 {
19entry:
20 %strided.vec = shufflevector <16 x i8> %wide.vec, <16 x i8> undef, <16 x i32> <i32 undef, i32 undef, i32 undef, i32 undef, i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef, i32 8, i32 9, i32 10, i32 11>
21 ret <16 x i8> %strided.vec
22
23; CHECK-LABEL: @test2
Tony Jiang0a429f02017-05-24 23:48:29 +000024; CHECK: xxsldwi 34, 34, 34, 3
Hal Finkel77c8b7f2015-09-02 16:52:37 +000025; CHECK: blr
26}
27
28attributes #0 = { nounwind "target-cpu"="pwr7" }
29