1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -O3 -mcpu=pwr8 \
3 ; RUN: -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
4 ; RUN: llc -verify-machineinstrs -O3 -mcpu=pwr9 \
5 ; RUN: -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s \
6 ; RUN: --check-prefix=CHECK-P9UP
7 ; RUN: llc -verify-machineinstrs -O3 -mcpu=pwr10 \
8 ; RUN: -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s \
9 ; RUN: --check-prefix=CHECK-P9UP
10 define dso_local void @test(ptr %Src, ptr nocapture %Tgt) local_unnamed_addr {
12 ; CHECK: # %bb.0: # %entry
13 ; CHECK-NEXT: lxvd2x 0, 0, 3
14 ; CHECK-NEXT: xxswapd 0, 0
15 ; CHECK-NEXT: stxvd2x 0, 0, 4
18 ; CHECK-P9UP-LABEL: test:
19 ; CHECK-P9UP: # %bb.0: # %entry
20 ; CHECK-P9UP-NEXT: lxvd2x 0, 0, 3
21 ; CHECK-P9UP-NEXT: stxv 0, 0(4)
22 ; CHECK-P9UP-NEXT: blr
24 %0 = tail call <2 x double> @llvm.ppc.vsx.lxvd2x.be(ptr %Src) #2
25 store <2 x double> %0, ptr %Tgt, align 1
29 declare <2 x double> @llvm.ppc.vsx.lxvd2x.be(ptr) #1