Ehsan Amiri | a538b0f | 2016-08-03 18:17:35 +0000 | [diff] [blame] | 1 | ; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck \ |
Nemanja Ivanovic | 44513e5 | 2016-07-05 09:22:29 +0000 | [diff] [blame] | 2 | ; RUN: -implicit-check-not vmrg -implicit-check-not=vperm %s |
Ehsan Amiri | a538b0f | 2016-08-03 18:17:35 +0000 | [diff] [blame] | 3 | ; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck \ |
Nemanja Ivanovic | 11049f8 | 2016-10-04 06:59:23 +0000 | [diff] [blame] | 4 | ; RUN: -implicit-check-not vmrg -implicit-check-not=vperm %s |
Nemanja Ivanovic | 44513e5 | 2016-07-05 09:22:29 +0000 | [diff] [blame] | 5 | |
| 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 |
Nemanja Ivanovic | 11049f8 | 2016-10-04 06:59:23 +0000 | [diff] [blame] | 13 | ; CHECK: lxsiwax 34, 0, 3 |
| 14 | ; CHECK: xxspltw 34, 34, 1 |
Nemanja Ivanovic | 44513e5 | 2016-07-05 09:22:29 +0000 | [diff] [blame] | 15 | } |