Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / PowerPC / xxpermdi_mnemonics.s
blobec2e2646de8fd3d893204f2d30ce46b2785117bb
1 ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 --vec-extabi < %s | FileCheck --check-prefixes=CHECK,OLD %s
2 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr8 --vec-extabi < %s | FileCheck --check-prefixes=CHECK,OLD %s
4 ; RUN: llc -mtriple powerpc64-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck --check-prefixes=CHECK,MODERN %s
5 ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr8 -mattr=+modern-aix-as --vec-extabi < %s | FileCheck --check-prefixes=CHECK,MODERN %s
6 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr8 -mattr=+modern-aix-as --vec-extabi < %s | FileCheck --check-prefixes=CHECK,MODERN %s
8 define <2 x double> @splat1(<2 x double> %A, <2 x double> %B) {
9 entry:
10 %0 = shufflevector <2 x double> %B, <2 x double> undef, <2 x i32> <i32 0, i32 0>
11 ret <2 x double> %0
14 ; CHECK-LABEL: splat1
15 ; OLD: xxmrghd 34, 35, 35
16 ; MODERN: xxspltd 34, 35, 0
18 define <2 x double> @splat2(<2 x double> %A, <2 x double> %B) {
19 entry:
20 %0 = shufflevector <2 x double> %B, <2 x double> undef, <2 x i32> <i32 1, i32 1>
21 ret <2 x double> %0
24 ; CHECK-LABEL: splat2
25 ; OLD: xxmrgld 34, 35, 35
26 ; MODERN: xxspltd 34, 35, 1
28 define <2 x double> @swap(<2 x double> %A, <2 x double> %B) {
29 entry:
30 %0 = shufflevector <2 x double> %B, <2 x double> undef, <2 x i32> <i32 1, i32 0>
31 ret <2 x double> %0
34 ; CHECK-LABEL: swap
35 ; CHECK: xxswapd 34, 35
37 define <2 x double> @mergehi(<2 x double> %A, <2 x double> %B) {
38 entry:
39 %0 = shufflevector <2 x double> %A, <2 x double> %B, <2 x i32> <i32 0, i32 2>
40 ret <2 x double> %0
43 ; CHECK-LABEL: mergehi
44 ; CHECK: xxmrghd 34, 34, 35
46 define <2 x double> @mergelo(<2 x double> %A, <2 x double> %B) {
47 entry:
48 %0 = shufflevector <2 x double> %A, <2 x double> %B, <2 x i32> <i32 1, i32 3>
49 ret <2 x double> %0
52 ; CHECK-LABEL: mergelo
53 ; CHECK: xxmrgld 34, 34, 35