Recommit r310809 with a fix for the spill problem
[llvm-core.git] / test / CodeGen / PowerPC / load-v4i8-improved.ll
blob36f347222d5f0dfff56166341fb88af729bc6c25
1 ; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck \
2 ; RUN:   -implicit-check-not vmrg -implicit-check-not=vperm %s
3 ; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck \
4 ; RUN:   -implicit-check-not vmrg -implicit-check-not=vperm %s
6 define <16 x i8> @test(i32* %s, i32* %t) {
7 entry:
8   %0 = bitcast i32* %s to <4 x i8>*
9   %1 = load <4 x i8>, <4 x i8>* %0, align 4
10   %2 = shufflevector <4 x i8> %1, <4 x i8> undef, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
11   ret <16 x i8> %2
12 ; CHECK-LABEL: test
13 ; CHECK: lxsiwax 34, 0, 3
14 ; CHECK: xxspltw 34, 34, 1