OSDN Git Service

Simplified intrinsic macro mechanism.
authorAart Bik <ajcbik@google.com>
Tue, 1 Mar 2016 23:16:54 +0000 (15:16 -0800)
committerAart Bik <ajcbik@google.com>
Wed, 2 Mar 2016 17:43:11 +0000 (09:43 -0800)
commit2f9fcc999fab4ba6cd86c30e664325b47b9618e5
tree6f151592b0f37c65a389f1bdffbbfcf5c2e6dbcc
parent73e31f8ae826be5b9b0c3c216abb904cbfa71077
Simplified intrinsic macro mechanism.

Rationale:
Reduces boiler-plate code in all intrinsics code generators.
Also, the newly introduced "unreachable" macro provides a
static verifier that we do not have unreachable and thus
redundant code in the generators. In fact, this change
exposes that the MIPS32 and MIPS64 rotation intrinsics
(IntegerRotateRight, LongRotateRight, IntegerRotateLeft,
LongRotateLeft) are unreachable, since they are handled
as HIR constructs for all architectures. Thus the code
can be removed.

Change-Id: I0309799a0db580232137ded72bb8a7bbd45440a8
compiler/optimizing/intrinsics.h
compiler/optimizing/intrinsics_arm.cc
compiler/optimizing/intrinsics_arm64.cc
compiler/optimizing/intrinsics_list.h
compiler/optimizing/intrinsics_mips.cc
compiler/optimizing/intrinsics_mips64.cc
compiler/optimizing/intrinsics_x86.cc
compiler/optimizing/intrinsics_x86_64.cc