1 ; RUN: llc < %s | FileCheck %s 2 target datalayout = "E-m:e-i64:64-n32:64" 3 target triple = "powerpc64-unknown-linux-gnu" 4 5 ; Function Attrs: nounwind 6 define <2 x i32> @test1(<4 x i32> %wide.vec) #0 { 7 entry: 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 12 ; CHECK: xxswapd 35, 34 13 ; CHECK: vmrghw 2, 2, 3 14 ; CHECK: blr 15 } 16 17 ; Function Attrs: nounwind 18 define <16 x i8> @test2(<16 x i8> %wide.vec) #0 { 19 entry: 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 24 ; CHECK: vsldoi 2, 2, 2, 12 25 ; CHECK: blr 26 } 27 28 attributes #0 = { nounwind "target-cpu"="pwr7" } 29 30