57 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-linux-gnu < %s \3; RUN: | FileCheck --check-prefix=CHECK-LE %s4; RUN: llc -verify-machineinstrs -mtriple=powerpc64-linux-gnu -mattr=+vsx < %s \5; RUN: | FileCheck --check-prefix=CHECK-BE %s6; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff -mattr=+vsx \7; RUN: -vec-extabi < %s | FileCheck --check-prefix=CHECK-BE %s8; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-linux-gnu -mcpu=pwr9 < %s \9; RUN: | FileCheck --check-prefix=CHECK-P9LE %s10; RUN: llc -verify-machineinstrs -mtriple=powerpc64-linux-gnu -mcpu=pwr9 < %s \11; RUN: | FileCheck --check-prefix=CHECK-P9BE %s12; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff -mcpu=pwr9 \13; RUN: -vec-extabi < %s | FileCheck --check-prefix=CHECK-BE %s14 15define double @splat_swap(<2 x double> %x, <2 x double> %y) nounwind {16; CHECK-LE-LABEL: splat_swap:17; CHECK-LE: # %bb.0:18; CHECK-LE-NEXT: xvadddp 0, 34, 3519; CHECK-LE-NEXT: xvrdpic 0, 020; CHECK-LE-NEXT: xxswapd 1, 021; CHECK-LE-NEXT: xssubdp 1, 1, 022; CHECK-LE-NEXT: blr23;24; CHECK-BE-LABEL: splat_swap:25; CHECK-BE: # %bb.0:26; CHECK-BE-NEXT: xvadddp 0, 34, 3527; CHECK-BE-NEXT: xvrdpic 0, 028; CHECK-BE-NEXT: xxswapd 1, 029; CHECK-BE-NEXT: xssubdp 1, 0, 130; CHECK-BE-NEXT: blr31;32; CHECK-P9LE-LABEL: splat_swap:33; CHECK-P9LE: # %bb.0:34; CHECK-P9LE-NEXT: xvadddp 0, 34, 3535; CHECK-P9LE-NEXT: xvrdpic 0, 036; CHECK-P9LE-NEXT: xxswapd 1, 037; CHECK-P9LE-NEXT: xssubdp 1, 1, 038; CHECK-P9LE-NEXT: blr39;40; CHECK-P9BE-LABEL: splat_swap:41; CHECK-P9BE: # %bb.0:42; CHECK-P9BE-NEXT: xvadddp 0, 34, 3543; CHECK-P9BE-NEXT: xvrdpic 0, 044; CHECK-P9BE-NEXT: xxswapd 1, 045; CHECK-P9BE-NEXT: xssubdp 1, 0, 146; CHECK-P9BE-NEXT: blr47 %added = fadd <2 x double> %x, %y48 %call = tail call <2 x double> @llvm.rint.v2f64(<2 x double> %added) nounwind readnone49 %res1 = extractelement <2 x double> %call, i32 050 %res2 = extractelement <2 x double> %call, i32 151 %ret = fsub double %res1, %res252 ret double %ret53}54 55declare <2 x double> @llvm.rint.v2f64(<2 x double>)56 57