diff options
author | Razvan A Lupusoru <razvan.a.lupusoru@intel.com> | 2014-10-28 19:29:52 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-11-21 16:13:40 -0800 |
commit | b72c723bfb21e05cb9b0a7999db805df93fcaee8 (patch) | |
tree | b61db90dcb0d7c77fe4a0a31e280c4268a91128e /compiler/dex/mir_graph.cc | |
parent | 1d56c84657a9ba35222f4b6f1f606a0a7f0fe7e0 (diff) | |
download | art-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.cc | 5 |
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; |