OSDN Git Service

ARM32: Lower more integer intrinsics and test.
authorJan Voung <jvoung@chromium.org>
Thu, 9 Jul 2015 17:35:09 +0000 (10:35 -0700)
committerJan Voung <jvoung@chromium.org>
Thu, 9 Jul 2015 17:35:09 +0000 (10:35 -0700)
commitf645d8539e6dd8d0d7d6b604f36b9cc7b05d1886
treed7c5d9edffb32458971dff55d83cae55d7d6b19c
parent3469b02435b919623e628881b449fe8f11615b88
ARM32: Lower more integer intrinsics and test.

Lower stacksave/restore.
Lower ctlz, cttz, bswap, and popcount. Popcount is just
done with a helper call. Ctz can use the clz instruction
after reversing the bits.

We can only crosstest stacksave/restore for now which
happens to be written in C for the C99 VLAs. The CXX
crosstests I can't seem to compile with the arm-cross-g++
(missing headers), so I will check that later after
resolving the cross compilation issue.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076
R=jpp@chromium.org

Review URL: https://codereview.chromium.org/1222943003 .
Makefile.standalone
src/IceInstARM32.cpp
src/IceInstARM32.h
src/IceTargetLowering.h
src/IceTargetLoweringARM32.cpp
src/IceTargetLoweringARM32.h
src/IceTargetLoweringX86Base.h
src/IceTargetLoweringX86BaseImpl.h
tests_lit/llvm2ice_tests/nacl-other-intrinsics.ll