Reviewers: regis,
Message:
For
https://code.google.com/p/dart/issues/detail?id=18451
Description:
For ARMv6, works around missing instructions.
mls, mla, umull, smull, etc. are not implemented on
all ARMv6's. This change works around them. For
mls and mla, we just use two instructions. smull
was used to check for overflow in mul, so we have
to do that manually. For umlal in the Random
intrinsic, we just fall through for now, though in
principal it wouldn't be hard to emulate.
Please review this at
https://codereview.chromium.org/255273003/
SVN Base:
http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Affected files (+300, -59 lines):
M runtime/vm/assembler_arm.h
M runtime/vm/assembler_arm.cc
M runtime/vm/assembler_arm_test.cc
M runtime/vm/intermediate_language_arm.cc
M runtime/vm/intrinsifier_arm.cc