For ARMv6, works around missing instructions. (issue 255273003)

5 views
Skip to first unread message

z...@google.com

unread,
Apr 29, 2014, 4:28:00 PM4/29/14
to re...@google.com, rev...@dartlang.org, vm-...@dartlang.org
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


re...@google.com

unread,
Apr 29, 2014, 6:23:57 PM4/29/14
to z...@google.com, rev...@dartlang.org, vm-...@dartlang.org

z...@google.com

unread,
Apr 29, 2014, 6:31:31 PM4/29/14
to re...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Committed patchset #2 manually as r35550 (presubmit successful).

https://codereview.chromium.org/255273003/
Reply all
Reply to author
Forward
0 new messages