diff options
author | Mark Mendell <mark.p.mendell@intel.com> | 2015-03-30 14:13:30 -0400 |
---|---|---|
committer | Mark Mendell <mark.p.mendell@intel.com> | 2015-04-10 09:33:52 -0400 |
commit | 222fcf96c9b73bbb739012575e7e413caf9348ec (patch) | |
tree | e0441bc484cc8f441685de49c931a030730a3701 /compiler/optimizing/code_generator_x86.h | |
parent | fcfea6324b2913621d5cb642d4315f22c4901368 (diff) | |
download | art-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.h | 3 |
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); |