<div dir="ltr">Great, thanks! </div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 29, 2016 at 2:09 PM Nemanja Ivanovic <<a href="mailto:nemanja.i.ibm@gmail.com">nemanja.i.ibm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Yes of course. I'll revert this now.<br class="gmail_msg"></div><div class="gmail_extra gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg">On Tue, Nov 29, 2016 at 4:33 PM, Eric Christopher <span dir="ltr" class="gmail_msg"><<a href="mailto:echristo@gmail.com" class="gmail_msg" target="_blank">echristo@gmail.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Hi Nemanja,<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">We've got a few testcases internally that we're working on reducing, but this is causing a number of failures. Can we revert this in the mean time while we're working up a testcase for you?</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Thanks!</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">-eric</div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Tue, Nov 22, 2016 at 11:12 AM Nemanja Ivanovic via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: nemanjai<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Date: Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
New Revision: 287679<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=287679&view=rev" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=287679&view=rev</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Log:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
[PowerPC] Emit VMX loads/stores for aligned ops to avoid adding swaps on LE<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
This patch corresponds to review:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<a href="https://reviews.llvm.org/D26861" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">https://reviews.llvm.org/D26861</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
It also fixes PR30730.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Committing on behalf of Lei Huang.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
    llvm/trunk/test/CodeGen/PowerPC/vsx.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -10814,6 +10814,14 @@ SDValue PPCTargetLowering::expandVSXLoad<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   MVT VecTy = N->getValueType(0).getSimpleVT();<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  // Do not expand to PPCISD::LXVD2X + PPCISD::XXSWAPD when the load is<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  // aligned and the type is a vector with elements up to 4 bytes<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  if (Subtarget.needsSwapsForVSXMemOps() && !(MMO->getAlignment()%16)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+      && VecTy.getScalarSizeInBits() <= 32 ) {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+    return SDValue();<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   SDValue LoadOps[] = { Chain, Base };<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   SDValue Load = DAG.getMemIntrinsicNode(PPCISD::LXVD2X, dl,<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
                                          DAG.getVTList(MVT::v2f64, MVT::Other),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -10878,6 +10886,13 @@ SDValue PPCTargetLowering::expandVSXStor<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   SDValue Src = N->getOperand(SrcOpnd);<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   MVT VecTy = Src.getValueType().getSimpleVT();<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  // Do not expand to PPCISD::XXSWAPD and PPCISD::STXVD2X when the load is<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  // aligned and the type is a vector with elements up to 4 bytes<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  if (Subtarget.needsSwapsForVSXMemOps() && !(MMO->getAlignment()%16)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+      && VecTy.getScalarSizeInBits() <= 32 ) {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+    return SDValue();<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   // All stores are done as v2f64 and possible bit cast.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   if (VecTy != MVT::v2f64) {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
     Src = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Src);<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/lib/Target/PowerPC/PPCInstrVSX.td Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -138,7 +138,7 @@ let Uses = [RM] in {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
     def LXVW4X : XX1Form<31, 780,<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
                          (outs vsrc:$XT), (ins memrr:$src),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
                          "lxvw4x $XT, $src", IIC_LdStLFD,<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-                         [(set v4i32:$XT, (int_ppc_vsx_lxvw4x xoaddr:$src))]>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+                         []>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   } // mayLoad<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   // Store indexed instructions<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -160,7 +160,7 @@ let Uses = [RM] in {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
     def STXVW4X : XX1Form<31, 908,<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
                          (outs), (ins vsrc:$XT, memrr:$dst),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
                          "stxvw4x $XT, $dst", IIC_LdStSTFD,<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-                         [(store v4i32:$XT, xoaddr:$dst)]>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+                         []>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
     }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   } // mayStore<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -1018,8 +1018,6 @@ let Predicates = [HasVSX, HasOnlySwappin<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   // Stores.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(int_ppc_vsx_stxvd2x v2f64:$rS, xoaddr:$dst),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
             (STXVD2X $rS, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  def : Pat<(int_ppc_vsx_stxvw4x v4i32:$rS, xoaddr:$dst),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-            (STXVW4X $rS, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(int_ppc_vsx_stxvd2x_be v2f64:$rS, xoaddr:$dst),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
             (STXVD2X $rS, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(int_ppc_vsx_stxvw4x_be v4i32:$rS, xoaddr:$dst),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -1030,8 +1028,12 @@ let Predicates = [IsBigEndian, HasVSX, H<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(v2f64 (load xoaddr:$src)), (LXVD2X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(v2i64 (load xoaddr:$src)), (LXVD2X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(v4i32 (load xoaddr:$src)), (LXVW4X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  def : Pat<(v4i32 (int_ppc_vsx_lxvw4x xoaddr:$src)), (LXVW4X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(store v2f64:$rS, xoaddr:$dst), (STXVD2X $rS, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(store v2i64:$rS, xoaddr:$dst), (STXVD2X $rS, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  def : Pat<(store v4i32:$XT, xoaddr:$dst), (STXVW4X $XT, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  def : Pat<(int_ppc_vsx_stxvw4x v4i32:$rS, xoaddr:$dst),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+            (STXVW4X $rS, xoaddr:$dst)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 // Permutes.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -1852,8 +1854,8 @@ let Predicates = [IsLittleEndian, HasVSX<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   def : Pat<(f64 (vector_extract v2f64:$S, i64:$Idx)),<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
             (f64 VectorExtractions.LE_VARIABLE_DOUBLE)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  def : Pat<(v4i32 (int_ppc_vsx_lxvw4x_be xoaddr:$src)), (LXVW4X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  def : Pat<(v2f64 (int_ppc_vsx_lxvd2x_be xoaddr:$src)), (LXVD2X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+def : Pat<(v4i32 (int_ppc_vsx_lxvw4x_be xoaddr:$src)), (LXVW4X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+def : Pat<(v2f64 (int_ppc_vsx_lxvd2x_be xoaddr:$src)), (LXVD2X xoaddr:$src)>;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 let Predicates = [IsLittleEndian, HasDirectMove] in {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   // v16i8 scalar <-> vector conversions (LE)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/test/CodeGen/PowerPC/ppc64-i128-abi.ll Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -1,5 +1,6 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN:   -mcpu=pwr8 < %s | FileCheck %s -check-prefix=CHECK-LE<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mcpu=pwr8 < %s | FileCheck %s -check-prefix=CHECK-LE \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   --implicit-check-not xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mcpu=pwr8 < %s | FileCheck %s -check-prefix=CHECK-BE<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -8,13 +9,15 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mcpu=pwr8 -mattr=-vsx < %s | FileCheck %s -check-prefix=CHECK-NOVSX<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN:   -mcpu=pwr8 -mattr=-vsx < %s | FileCheck %s -check-prefix=CHECK-NOVSX<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mcpu=pwr8 -mattr=-vsx < %s | FileCheck %s -check-prefix=CHECK-NOVSX \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   --implicit-check-not xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mcpu=pwr8 -mattr=-vsx < %s | FileCheck %s -check-prefix=CHECK-BE-NOVSX<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN:   -mcpu=pwr8 -mattr=-vsx < %s | FileCheck %s -check-prefix=CHECK-LE-NOVSX<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mcpu=pwr8 -mattr=-vsx < %s | \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   FileCheck %s -check-prefix=CHECK-LE-NOVSX --implicit-check-not xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mcpu=pwr9 -ppc-vsr-nums-as-vr < %s | FileCheck %s \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -26,7 +29,7 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mcpu=pwr9 -mattr=-power9-vector -mattr=-direct-move < %s | \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN:   FileCheck %s -check-prefix=CHECK-LE<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   FileCheck %s -check-prefix=CHECK-LE --implicit-check-not xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 @x = common global <1 x i128> zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 @y = common global <1 x i128> zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -199,8 +202,7 @@ define <1 x i128> @call_v1i128_increment<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
        ret <1 x i128> %ret<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-LABEL: @call_v1i128_increment_by_one<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: lxvd2x [[PARAM:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: xxswapd 34, [[PARAM]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: lvx 2, {{[0-9]+}}, {{[0-9]+}}<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: bl v1i128_increment_by_one<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -229,10 +231,8 @@ define <1 x i128> @call_v1i128_increment<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
        ret <1 x i128> %ret<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-LABEL: @call_v1i128_increment_by_val<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: lxvd2x [[PARAM1:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: lxvd2x [[PARAM2:[0-9]+]], {{[0-9]+}}, {{[0-9]+}}<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE-DAG: xxswapd 34, [[PARAM1]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE-DAG: xxswapd 35, [[PARAM2]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: lvx 2, {{[0-9]+}}, {{[0-9]+}}<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: lvx 3, {{[0-9]+}}, {{[0-9]+}}<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: bl v1i128_increment_by_val<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/test/CodeGen/PowerPC/swaps-le-1.ll Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -13,6 +13,12 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:  -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:  | FileCheck -check-prefix=NOOPTSWAP %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; LH: 2016-11-17<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   Updated align attritue from 16 to 8 to keep swap instructions tests.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   Changes have been made on little-endian to use lvx and stvx<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   instructions instead of lxvd2x/xxswapd and xxswapd/stxvd2x for<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   aligned vectors with elements up to 4 bytes<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; This test was generated from the following source:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; #define N 4096<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -29,10 +35,10 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ;   }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@cb = common global [4096 x i32] zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@cc = common global [4096 x i32] zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@cd = common global [4096 x i32] zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@ca = common global [4096 x i32] zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@cb = common global [4096 x i32] zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@cc = common global [4096 x i32] zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@cd = common global [4096 x i32] zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@ca = common global [4096 x i32] zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 define void @foo() {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 entry:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -42,63 +48,63 @@ vector.body:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %index = phi i64 [ 0, %entry ], [ %index.next.3, %vector.body ]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %0 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cb, i64 0, i64 %index<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %1 = bitcast i32* %0 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load = load <4 x i32>, <4 x i32>* %1, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load = load <4 x i32>, <4 x i32>* %1, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %2 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cc, i64 0, i64 %index<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %3 = bitcast i32* %2 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load13 = load <4 x i32>, <4 x i32>* %3, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load13 = load <4 x i32>, <4 x i32>* %3, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %4 = add nsw <4 x i32> %wide.load13, %wide.load<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %5 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cd, i64 0, i64 %index<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %6 = bitcast i32* %5 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load14 = load <4 x i32>, <4 x i32>* %6, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load14 = load <4 x i32>, <4 x i32>* %6, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %7 = mul nsw <4 x i32> %4, %wide.load14<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %8 = getelementptr inbounds [4096 x i32], [4096 x i32]* @ca, i64 0, i64 %index<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %9 = bitcast i32* %8 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <4 x i32> %7, <4 x i32>* %9, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <4 x i32> %7, <4 x i32>* %9, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %index.next = add nuw nsw i64 %index, 4<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %10 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cb, i64 0, i64 %index.next<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %11 = bitcast i32* %10 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load.1 = load <4 x i32>, <4 x i32>* %11, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load.1 = load <4 x i32>, <4 x i32>* %11, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %12 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cc, i64 0, i64 %index.next<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %13 = bitcast i32* %12 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load13.1 = load <4 x i32>, <4 x i32>* %13, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load13.1 = load <4 x i32>, <4 x i32>* %13, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %14 = add nsw <4 x i32> %wide.load13.1, %wide.load.1<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %15 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cd, i64 0, i64 %index.next<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %16 = bitcast i32* %15 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load14.1 = load <4 x i32>, <4 x i32>* %16, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load14.1 = load <4 x i32>, <4 x i32>* %16, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %17 = mul nsw <4 x i32> %14, %wide.load14.1<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %18 = getelementptr inbounds [4096 x i32], [4096 x i32]* @ca, i64 0, i64 %index.next<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %19 = bitcast i32* %18 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <4 x i32> %17, <4 x i32>* %19, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <4 x i32> %17, <4 x i32>* %19, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %index.next.1 = add nuw nsw i64 %index.next, 4<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %20 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cb, i64 0, i64 %index.next.1<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %21 = bitcast i32* %20 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load.2 = load <4 x i32>, <4 x i32>* %21, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load.2 = load <4 x i32>, <4 x i32>* %21, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %22 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cc, i64 0, i64 %index.next.1<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %23 = bitcast i32* %22 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load13.2 = load <4 x i32>, <4 x i32>* %23, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load13.2 = load <4 x i32>, <4 x i32>* %23, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %24 = add nsw <4 x i32> %wide.load13.2, %wide.load.2<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %25 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cd, i64 0, i64 %index.next.1<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %26 = bitcast i32* %25 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load14.2 = load <4 x i32>, <4 x i32>* %26, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load14.2 = load <4 x i32>, <4 x i32>* %26, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %27 = mul nsw <4 x i32> %24, %wide.load14.2<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %28 = getelementptr inbounds [4096 x i32], [4096 x i32]* @ca, i64 0, i64 %index.next.1<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %29 = bitcast i32* %28 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <4 x i32> %27, <4 x i32>* %29, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <4 x i32> %27, <4 x i32>* %29, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %index.next.2 = add nuw nsw i64 %index.next.1, 4<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %30 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cb, i64 0, i64 %index.next.2<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %31 = bitcast i32* %30 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load.3 = load <4 x i32>, <4 x i32>* %31, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load.3 = load <4 x i32>, <4 x i32>* %31, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %32 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cc, i64 0, i64 %index.next.2<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %33 = bitcast i32* %32 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load13.3 = load <4 x i32>, <4 x i32>* %33, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load13.3 = load <4 x i32>, <4 x i32>* %33, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %34 = add nsw <4 x i32> %wide.load13.3, %wide.load.3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %35 = getelementptr inbounds [4096 x i32], [4096 x i32]* @cd, i64 0, i64 %index.next.2<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %36 = bitcast i32* %35 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %wide.load14.3 = load <4 x i32>, <4 x i32>* %36, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %wide.load14.3 = load <4 x i32>, <4 x i32>* %36, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %37 = mul nsw <4 x i32> %34, %wide.load14.3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %38 = getelementptr inbounds [4096 x i32], [4096 x i32]* @ca, i64 0, i64 %index.next.2<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %39 = bitcast i32* %38 to <4 x i32>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <4 x i32> %37, <4 x i32>* %39, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <4 x i32> %37, <4 x i32>* %39, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %index.next.3 = add nuw nsw i64 %index.next.2, 4<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %40 = icmp eq i64 %index.next.3, 4096<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   br i1 %40, label %for.end, label %vector.body<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/test/CodeGen/PowerPC/swaps-le-2.ll Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -2,6 +2,13 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; Test swap removal when a vector splat must be adjusted to make it legal.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; LH: 2016-11-17<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   Updated align attritue from 16 to 8 to keep swap instructions tests.<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   Changes have been made on little-endian to use lvx and stvx<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   instructions instead of lxvd2x/xxswapd and xxswapd/stxvd2x for<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+;   aligned vectors with elements up to 4 bytes<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; Test generated from following C code:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ;<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; vector char vc = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -28,37 +35,37 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ;   vir = (vector int){vi[1], vi[1], vi[1], vi[1]};<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@vc = global <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@vs = global <8 x i16> <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@vi = global <4 x i32> <i32 0, i32 1, i32 2, i32 3>, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@vcr = common global <16 x i8> zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@vsr = common global <8 x i16> zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-@vir = common global <4 x i32> zeroinitializer, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@vc = global <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@vs = global <8 x i16> <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@vi = global <4 x i32> <i32 0, i32 1, i32 2, i32 3>, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@vcr = common global <16 x i8> zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@vsr = common global <8 x i16> zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+@vir = common global <4 x i32> zeroinitializer, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; Function Attrs: nounwind<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 define void @cfoo() {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 entry:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %0 = load <16 x i8>, <16 x i8>* @vc, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %0 = load <16 x i8>, <16 x i8>* @vc, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %vecinit30 = shufflevector <16 x i8> %0, <16 x i8> undef, <16 x i32> <i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <16 x i8> %vecinit30, <16 x i8>* @vcr, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <16 x i8> %vecinit30, <16 x i8>* @vcr, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   ret void<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; Function Attrs: nounwind<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 define void @sfoo() {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 entry:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %0 = load <8 x i16>, <8 x i16>* @vs, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %0 = load <8 x i16>, <8 x i16>* @vs, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %vecinit14 = shufflevector <8 x i16> %0, <8 x i16> undef, <8 x i32> <i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <8 x i16> %vecinit14, <8 x i16>* @vsr, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <8 x i16> %vecinit14, <8 x i16>* @vsr, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   ret void<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; Function Attrs: nounwind<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 define void @ifoo() {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 entry:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  %0 = load <4 x i32>, <4 x i32>* @vi, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  %0 = load <4 x i32>, <4 x i32>* @vi, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   %vecinit6 = shufflevector <4 x i32> %0, <4 x i32> undef, <4 x i32> <i32 1, i32 1, i32 1, i32 1><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-  store <4 x i32> %vecinit6, <4 x i32>* @vir, align 16<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+  store <4 x i32> %vecinit6, <4 x i32>* @vir, align 8<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
   ret void<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/test/CodeGen/PowerPC/vsx-ldst.ll Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -14,8 +14,10 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mattr=+vsx -O2 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mtriple=powerpc64le-unknown-linux-gnu < %s > %t<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: grep lxvd2x < %t | count 6<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: grep stxvd2x < %t | count 6<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: grep lxvd2x < %t | count 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: grep lvx < %t | count 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: grep stxvd2x < %t | count 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: grep stvx < %t | count 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN: llc -verify-machineinstrs -mcpu=pwr9 -O2 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; RUN:   -mtriple=powerpc64le-unknown-linux-gnu < %s > %t<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
Modified: llvm/trunk/test/CodeGen/PowerPC/vsx.ll<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/vsx.ll?rev=287679&r1=287678&r2=287679&view=diff" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PowerPC/vsx.ll?rev=287679&r1=287678&r2=287679&view=diff</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
==============================================================================<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
--- llvm/trunk/test/CodeGen/PowerPC/vsx.ll (original)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+++ llvm/trunk/test/CodeGen/PowerPC/vsx.ll Tue Nov 22 13:02:07 2016<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -1,8 +1,17 @@<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx < %s | FileCheck %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx < %s | FileCheck -check-prefix=CHECK-REG %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx -fast-isel -O0 < %s | FileCheck %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx -fast-isel -O0 < %s | FileCheck -check-prefix=CHECK-FISL %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu -mattr=+vsx < %s | FileCheck -check-prefix=CHECK-LE %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: llc -verify-machineinstrs -mcpu=pwr7 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx < %s | FileCheck %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: llc -verify-machineinstrs -mcpu=pwr7 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx < %s | \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   FileCheck -check-prefix=CHECK-REG %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: llc -verify-machineinstrs -mcpu=pwr7 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx -fast-isel -O0 < %s |\<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   FileCheck %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: llc -verify-machineinstrs -mcpu=pwr7 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mtriple=powerpc64-unknown-linux-gnu -mattr=+vsx -fast-isel -O0 < %s |\<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   FileCheck -check-prefix=CHECK-FISL %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN: llc -verify-machineinstrs -mcpu=pwr8 \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   -mtriple=powerpc64le-unknown-linux-gnu -mattr=+vsx < %s | \<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; RUN:   FileCheck -check-prefix=CHECK-LE %s<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 define double @test1(double %a, double %b) {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 entry:<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -645,8 +654,8 @@ define <4 x float> @test32(<4 x float>*<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-FISL: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-LABEL: @test32<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: lxvd2x [[V1:[0-9]+]], 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: xxswapd 34, [[V1]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: lvx 2, 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE-NOT: xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -663,8 +672,8 @@ define void @test33(<4 x float>* %a, <4<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-FISL: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-LABEL: @test33<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: xxswapd [[V1:[0-9]+]], 34<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: stxvd2x [[V1]], 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE-NOT: xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: stvx 2, 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -716,8 +725,8 @@ define <4 x i32> @test34(<4 x i32>* %a)<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-FISL: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-LABEL: @test34<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: lxvd2x [[V1:[0-9]+]], 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: xxswapd 34, [[V1]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: lvx 2, 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE-NOT: xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -734,8 +743,8 @@ define void @test35(<4 x i32>* %a, <4 x<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-FISL: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-LABEL: @test35<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: xxswapd [[V1:[0-9]+]], 34<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE: stxvd2x [[V1]], 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE-NOT: xxswapd<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE: stvx 2, 0, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
@@ -1154,9 +1163,9 @@ define <2 x i32> @test80(i32 %v) {<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-DAG: mtvsrd [[R1:[0-9]+]], 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-DAG: xxswapd  [[V1:[0-9]+]], [[R1]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-DAG: addi [[R2:[0-9]+]], {{[0-9]+}}, .LCPI<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE-DAG: lxvd2x [[V2:[0-9]+]], 0, [[R2]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE-DAG: lvx 3, 0, [[R2]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE-DAG: xxspltw 34, [[V1]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
-; CHECK-LE-DAG: xxswapd 35, [[V2]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
+; CHECK-LE-NOT: xxswapd 35, [[V2]]<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: vadduwm 2, 2, 3<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 ; CHECK-LE: blr<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
 }<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
_______________________________________________<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
llvm-commits mailing list<br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="m_-8012435049525311898m_4173294981008666324gmail_msg gmail_msg">
</blockquote></div></div>
</blockquote></div><br class="gmail_msg"></div>
</blockquote></div>