Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Issue 1127003003: Lower a few basic ARM binops for i{8,16,32,64}. (Closed)

Created:
5 years, 7 months ago by jvoung (off chromium)
Modified:
5 years, 7 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Lower a few basic ARM binops for i{8,16,32,64}. Do basic lowering for add, sub, and, or, xor, mul. We don't yet take advantage of commuting immediate operands (e.g., use rsb to reverse subtract instead of sub) or inverting immediate operands (use bic to bit clear instead of using and). The binary operations can set the flags register (e.g., to have the carry bit for use with a subsequent adc instruction). That is optional for the "data processing" instructions. I'm not yet able to compile 8bit.pnacl.ll and 64bit.pnacl.ll so 8-bit and 64-bit are not well tested yet. Only tests are in the arith.ll file (like arith-opt.ll, but assembled instead of testing the "verbose inst" output). Not doing divide yet. ARM divide by 0 does not trap, but PNaCl requires uniform behavior for such bad code. Thus, in LLVM we insert a 0 check and would have to do the same. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=2971997a96b7484165cfedead111c7cafb3073ae

Patch Set 1 #

Patch Set 2 : do 64-bit multiply also #

Patch Set 3 : clang format #

Patch Set 4 : remove unused rsb, rsc #

Total comments: 1

Patch Set 5 : stuff #

Patch Set 6 : move comment #

Total comments: 2

Patch Set 7 : added condition and target to test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+547 lines, -44 lines) Patch
M src/IceInstARM32.h View 1 2 3 5 chunks +119 lines, -1 line 0 comments Download
M src/IceInstARM32.cpp View 1 2 3 4 8 chunks +112 lines, -5 lines 0 comments Download
M src/IceInstARM32.def View 1 chunk +7 lines, -7 lines 0 comments Download
M src/IceTargetLoweringARM32.h View 1 2 2 chunks +44 lines, -3 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 1 chunk +114 lines, -19 lines 0 comments Download
A tests_lit/llvm2ice_tests/arith.ll View 1 2 3 4 5 6 1 chunk +149 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/arith-opt.ll View 1 1 chunk +0 lines, -7 lines 0 comments Download
M tests_lit/llvm2ice_tests/function_aligned.ll View 1 1 chunk +1 line, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/int-arg.ll View 1 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
jvoung (off chromium)
https://codereview.chromium.org/1127003003/diff/60001/tests_lit/llvm2ice_tests/arith.ll File tests_lit/llvm2ice_tests/arith.ll (right): https://codereview.chromium.org/1127003003/diff/60001/tests_lit/llvm2ice_tests/arith.ll#newcode1 tests_lit/llvm2ice_tests/arith.ll:1: ; Assembly test for simple arithmetic operations. Almost a ...
5 years, 7 months ago (2015-05-18 23:31:40 UTC) #2
Jim Stichnoth
lgtm https://codereview.chromium.org/1127003003/diff/100001/tests_lit/llvm2ice_tests/arith.ll File tests_lit/llvm2ice_tests/arith.ll (right): https://codereview.chromium.org/1127003003/diff/100001/tests_lit/llvm2ice_tests/arith.ll#newcode3 tests_lit/llvm2ice_tests/arith.ll:3: ; RUN: %p2i --filetype=obj --disassemble -i %s --args ...
5 years, 7 months ago (2015-05-19 14:54:41 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/1127003003/diff/100001/tests_lit/llvm2ice_tests/arith.ll File tests_lit/llvm2ice_tests/arith.ll (right): https://codereview.chromium.org/1127003003/diff/100001/tests_lit/llvm2ice_tests/arith.ll#newcode3 tests_lit/llvm2ice_tests/arith.ll:3: ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 ...
5 years, 7 months ago (2015-05-19 17:15:01 UTC) #4
jvoung (off chromium)
5 years, 7 months ago (2015-05-19 18:24:58 UTC) #5
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
2971997a96b7484165cfedead111c7cafb3073ae (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698