radeon/llvm: fix BUILD_VECTOR lowering for replicated value
authorVadim Girlin <vadimgirlin@gmail.com>
Tue, 15 May 2012 14:47:38 +0000 (18:47 +0400)
committerVadim Girlin <vadimgirlin@gmail.com>
Tue, 15 May 2012 14:47:38 +0000 (18:47 +0400)
We expect that all elements will be assigned even if they are equal

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
src/gallium/drivers/radeon/AMDILISelLowering.cpp

index 19b12fc..570927d 100644 (file)
@@ -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: