OSDN Git Service

Fix and improve shift and rotate operations.
authorRoland Levillain <rpl@google.com>
Tue, 22 Mar 2016 14:57:31 +0000 (14:57 +0000)
committerRoland Levillain <rpl@google.com>
Tue, 22 Mar 2016 14:57:31 +0000 (14:57 +0000)
commit5b5b9319ff970979ed47d41a41283e4faeffb602
treee7795abf120cf512627786fd6302efd34535724b
parent0c25da0276f5b6f6119793ae9d45d1bca8172c2b
Fix and improve shift and rotate operations.

- Define maximum int and long shift & rotate distances as
  int32_t constants, as shift & rotate distances are 32-bit
  integer values.
- Consider the (long, long) inputs case as invalid for
  static evaluation of shift & rotate rotations.
- Add more checks in shift & rotate operations constructors
  as well as in art::GraphChecker.

Change-Id: I754b326c3a341c9cc567d1720b327dad6fcbf9d6
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/code_generator_mips.cc
compiler/optimizing/code_generator_mips64.cc
compiler/optimizing/code_generator_x86.cc
compiler/optimizing/code_generator_x86_64.cc
compiler/optimizing/graph_checker.cc
compiler/optimizing/instruction_simplifier.cc
compiler/optimizing/nodes.h