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

Issue 1143323013: Subzero ARM32: Lower shift and zext, sext, and trunc. (Closed)

Created:
5 years, 6 months ago by jvoung (off chromium)
Modified:
5 years, 6 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

Subzero ARM32: Lower shift and zext, sext, and trunc. Sext, etc. usually uses shifts (especially for i1 and i64) so implement shift, then implement those casts. Implement just enough of bitcast to handle accessing global addresses (used by some tests). Otherwise, most other bitcasts are from GPR to FP and FP regs aren't modeled yet. Generally following the GCC style for 64-bit shifts. This takes advantage of the flexible second operand in a "orr", and takes advantage of the shift-beyond bitwidth saturation. LLVM is almost the same, but only seems to take advantage on one side of the 32-bits, not the other side. Should really get some of the execution tests running to test this behavior! Fix InstARM32Str::dump(). Str doesn't have a Dest, so use Src. 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=66c3d5ecf3b6a6ce3b3a63c85312777ecbacee24

Patch Set 1 #

Patch Set 2 : trunc also #

Patch Set 3 : fix some stuff #

Patch Set 4 : fix stuff #

Patch Set 5 : add 64-bit tests #

Patch Set 6 : couple more tests #

Patch Set 7 : simplify i1 to i64 #

Patch Set 8 : format #

Patch Set 9 : clean up a comment #

Total comments: 7

Patch Set 10 : rename variable #

Unified diffs Side-by-side diffs Delta from patch set Stats (+676 lines, -35 lines) Patch
M src/IceInstARM32.h View 1 2 3 4 5 6 7 7 chunks +17 lines, -7 lines 0 comments Download
M src/IceInstARM32.cpp View 1 2 3 4 5 6 7 3 chunks +25 lines, -1 line 0 comments Download
M src/IceTargetLoweringARM32.h View 1 2 3 5 chunks +20 lines, -0 lines 0 comments Download
M src/IceTargetLoweringARM32.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +206 lines, -13 lines 0 comments Download
M tests_lit/llvm2ice_tests/64bit.pnacl.ll View 1 2 3 4 33 chunks +170 lines, -4 lines 0 comments Download
M tests_lit/llvm2ice_tests/convert.ll View 1 2 3 4 5 9 chunks +114 lines, -2 lines 0 comments Download
M tests_lit/llvm2ice_tests/shift.ll View 1 2 3 4 5 2 chunks +29 lines, -6 lines 0 comments Download
M tests_lit/llvm2ice_tests/test_i1.ll View 1 2 3 13 chunks +95 lines, -2 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
jvoung (off chromium)
5 years, 6 months ago (2015-06-04 19:45:43 UTC) #2
Jim Stichnoth
lgtm https://codereview.chromium.org/1143323013/diff/160001/src/IceTargetLoweringARM32.cpp File src/IceTargetLoweringARM32.cpp (right): https://codereview.chromium.org/1143323013/diff/160001/src/IceTargetLoweringARM32.cpp#newcode1109 src/IceTargetLoweringARM32.cpp:1109: } break; I've been thinking (in the x86-32 ...
5 years, 6 months ago (2015-06-04 22:10:59 UTC) #3
jvoung (off chromium)
Thanks! https://codereview.chromium.org/1143323013/diff/160001/src/IceTargetLoweringARM32.cpp File src/IceTargetLoweringARM32.cpp (right): https://codereview.chromium.org/1143323013/diff/160001/src/IceTargetLoweringARM32.cpp#newcode1109 src/IceTargetLoweringARM32.cpp:1109: } break; On 2015/06/04 22:10:59, stichnot wrote: > ...
5 years, 6 months ago (2015-06-04 23:15:15 UTC) #4
Jim Stichnoth
https://codereview.chromium.org/1143323013/diff/160001/tests_lit/llvm2ice_tests/64bit.pnacl.ll File tests_lit/llvm2ice_tests/64bit.pnacl.ll (right): https://codereview.chromium.org/1143323013/diff/160001/tests_lit/llvm2ice_tests/64bit.pnacl.ll#newcode602 tests_lit/llvm2ice_tests/64bit.pnacl.ll:602: define internal i32 @trunc64To32Signed(i64 %padding, i64 %a) { On ...
5 years, 6 months ago (2015-06-04 23:21:00 UTC) #5
jvoung (off chromium)
5 years, 6 months ago (2015-06-05 00:02:37 UTC) #6
Message was sent while issue was closed.
Committed patchset #10 (id:180001) manually as
66c3d5ecf3b6a6ce3b3a63c85312777ecbacee24 (tree was closed).

Powered by Google App Engine
This is Rietveld 408576698