summaryrefslogtreecommitdiffstats
path: root/compiler/dex/mir_graph.cc
diff options
context:
space:
mode:
authorRazvan A Lupusoru <razvan.a.lupusoru@intel.com>2014-10-28 19:29:52 -0700
committerIan Rogers <irogers@google.com>2014-11-21 16:13:40 -0800
commitb72c723bfb21e05cb9b0a7999db805df93fcaee8 (patch)
treeb61db90dcb0d7c77fe4a0a31e280c4268a91128e /compiler/dex/mir_graph.cc
parent1d56c84657a9ba35222f4b6f1f606a0a7f0fe7e0 (diff)
downloadart-b72c723bfb21e05cb9b0a7999db805df93fcaee8.tar.gz
art-b72c723bfb21e05cb9b0a7999db805df93fcaee8.tar.bz2
art-b72c723bfb21e05cb9b0a7999db805df93fcaee8.zip
ART: X86 vectorized reduce may use incorrect extract index
In the case of reduction to memory VR, the extract index is ignored. However, it should not be ignored because it is needed for pextr instruction. Change-Id: I46a0c76218a0553e677225e403786522c079d27d Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Diffstat (limited to 'compiler/dex/mir_graph.cc')
-rw-r--r--compiler/dex/mir_graph.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/dex/mir_graph.cc b/compiler/dex/mir_graph.cc
index 82a240800a..29972ddba5 100644
--- a/compiler/dex/mir_graph.cc
+++ b/compiler/dex/mir_graph.cc
@@ -1344,9 +1344,10 @@ void MIRGraph::DisassembleExtendedInstr(const MIR* mir, std::string* decoded_mir
decoded_mir->append(", ");
decoded_mir->append(GetSSANameWithConst(ssa_rep->defs[1], false));
}
- decoded_mir->append(StringPrintf(" = vect%d", mir->dalvikInsn.vB));
+ decoded_mir->append(StringPrintf(" = vect%d (extr_idx:%d)", mir->dalvikInsn.vB, mir->dalvikInsn.arg[0]));
} else {
- decoded_mir->append(StringPrintf(" v%d = vect%d", mir->dalvikInsn.vA, mir->dalvikInsn.vB));
+ decoded_mir->append(StringPrintf(" v%d = vect%d (extr_idx:%d)", mir->dalvikInsn.vA,
+ mir->dalvikInsn.vB, mir->dalvikInsn.arg[0]));
}
FillTypeSizeString(mir->dalvikInsn.vC, decoded_mir);
break;