1 ; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mattr=+vsx -ppc-vsr-nums-as-vr \
2 ; RUN: -mtriple=powerpc64le-unknown-linux-gnu -ppc-asm-full-reg-names < %s \
4 ; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mattr=+vsx -ppc-vsr-nums-as-vr \
5 ; RUN: -mtriple=powerpc64-unknown-linux-gnu -ppc-asm-full-reg-names < %s \
6 ; RUN: | FileCheck -check-prefix=CHECK-BE %s
8 ; Function Attrs: norecurse nounwind readnone
9 define double @cp_fp1(<2 x double> %v) {
10 ; CHECK-LABEL: cp_fp1:
11 ; CHECK: xscpsgndp f1, v2, v2
14 ; CHECK-BE-LABEL: cp_fp1:
15 ; CHECK-BE: xxswapd vs1, v2
18 %vecext = extractelement <2 x double> %v, i32 1
22 ; Function Attrs: norecurse nounwind readnone
23 define double @cp_fp2(<2 x double> %v) {
24 ; CHECK-LABEL: cp_fp2:
25 ; CHECK: xxswapd vs1, v2
28 ; CHECK-BE-LABEL: cp_fp2:
29 ; CHECK-BE: xscpsgndp f1, v2, v2
32 %vecext = extractelement <2 x double> %v, i32 0
36 ; Function Attrs: norecurse nounwind readnone
37 define <2 x double> @cp_fp3(double %v) {
38 ; CHECK-LABEL: cp_fp3:
39 ; CHECK: xxspltd v2, vs1, 0
42 ; CHECK-BE-LABEL: cp_fp3:
43 ; CHECK-BE: xscpsgndp v2, f1, f1
46 %vecins = insertelement <2 x double> undef, double %v, i32 0
47 ret <2 x double> %vecins