Mesa (master): radeon/llvm: fix BUILD_VECTOR lowering for replicated value

Vadim Girlin vadimg at kemper.freedesktop.org
Tue May 15 15:53:37 UTC 2012


Module: Mesa
Branch: master
Commit: 76e4898ba3c67082524786a0e0c67557a8abc58b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=76e4898ba3c67082524786a0e0c67557a8abc58b

Author: Vadim Girlin <vadimgirlin at gmail.com>
Date:   Tue May 15 18:47:38 2012 +0400

radeon/llvm: fix BUILD_VECTOR lowering for replicated value

We expect that all elements will be assigned even if they are equal

Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

---

 src/gallium/drivers/radeon/AMDILISelLowering.cpp |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/radeon/AMDILISelLowering.cpp b/src/gallium/drivers/radeon/AMDILISelLowering.cpp
index 19b12fc..570927d 100644
--- a/src/gallium/drivers/radeon/AMDILISelLowering.cpp
+++ b/src/gallium/drivers/radeon/AMDILISelLowering.cpp
@@ -3894,6 +3894,7 @@ AMDILTargetLowering::LowerBUILD_VECTOR( SDValue Op, SelectionDAG &DAG ) const
   Nodes1 = DAG.getNode(AMDILISD::VBUILD,
       DL,
       VT, Op.getOperand(0));
+#if 0
   bool allEqual = true;
   for (unsigned x = 1, y = Op.getNumOperands(); x < y; ++x) {
     if (Op.getOperand(0) != Op.getOperand(x)) {
@@ -3904,6 +3905,7 @@ AMDILTargetLowering::LowerBUILD_VECTOR( SDValue Op, SelectionDAG &DAG ) const
   if (allEqual) {
     return Nodes1;
   }
+#endif
   switch(Op.getNumOperands()) {
     default:
     case 1:




More information about the mesa-commit mailing list