• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc -verify-machineinstrs < %s | FileCheck %s
2target 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
12; CHECK: xxswapd 35, 34
13; CHECK: vmrghw 2, 2, 3
14; 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
24; CHECK: xxsldwi 34, 34, 34, 3
25; CHECK: blr
26}
27
28attributes #0 = { nounwind "target-cpu"="pwr7" }
29
30