summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator_x86.h
diff options
context:
space:
mode:
authorMark Mendell <mark.p.mendell@intel.com>2015-03-30 14:13:30 -0400
committerMark Mendell <mark.p.mendell@intel.com>2015-04-10 09:33:52 -0400
commit222fcf96c9b73bbb739012575e7e413caf9348ec (patch)
treee0441bc484cc8f441685de49c931a030730a3701 /compiler/optimizing/code_generator_x86.h
parentfcfea6324b2913621d5cb642d4315f22c4901368 (diff)
downloadart-222fcf96c9b73bbb739012575e7e413caf9348ec.zip
art-222fcf96c9b73bbb739012575e7e413caf9348ec.tar.gz
art-222fcf96c9b73bbb739012575e7e413caf9348ec.tar.bz2
[optimizing] Improve x86 shifts
Support memory operands for integer shifts. Generate better code for long shifts by constants. Change-Id: Icc92fa1b59cc280d4894af6f054e19b01977d5ce Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Diffstat (limited to 'compiler/optimizing/code_generator_x86.h')
-rw-r--r--compiler/optimizing/code_generator_x86.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator_x86.h b/compiler/optimizing/code_generator_x86.h
index 20f14fb..e6e7fb7 100644
--- a/compiler/optimizing/code_generator_x86.h
+++ b/compiler/optimizing/code_generator_x86.h
@@ -171,6 +171,9 @@ class InstructionCodeGeneratorX86 : public HGraphVisitor {
void GenerateShlLong(const Location& loc, Register shifter);
void GenerateShrLong(const Location& loc, Register shifter);
void GenerateUShrLong(const Location& loc, Register shifter);
+ void GenerateShlLong(const Location& loc, int shift);
+ void GenerateShrLong(const Location& loc, int shift);
+ void GenerateUShrLong(const Location& loc, int shift);
void GenerateMemoryBarrier(MemBarrierKind kind);
void HandleFieldSet(HInstruction* instruction, const FieldInfo& field_info);
void HandleFieldGet(HInstruction* instruction, const FieldInfo& field_info);