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

Issue 1617993005: Fix vldrs/vstrs handling of immediate offsets in ARM. (Closed)

Created:
4 years, 11 months ago by Karl
Modified:
4 years, 11 months ago
Reviewers:
Jim Stichnoth, sehr, John
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

Fix vldrs/vstrs handling of immediate offsets in ARM. A previous patch fixed vldrd/vstrd by dividing the immediate offset of the instruction by 4 before encoding. This does the same for vldrs/vstrs. It fixes the remaining problems with compiling spec2k using -filetype=iasm. It also fixes a minor bug in the divsion by 4, in the case that the immediate value is negative. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4334 R=jpp@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=e078db8ed0b7064de8e32f3b9145dcf30c1e430a

Patch Set 1 #

Total comments: 2

Patch Set 2 : Fix nit. #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+50 lines, -26 lines) Patch
M src/IceAssemblerARM32.cpp View 1 7 chunks +19 lines, -17 lines 3 comments Download
M tests_lit/assembler/arm32/vldr.vstr.imm.ll View 2 chunks +31 lines, -9 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Karl
4 years, 11 months ago (2016-01-22 18:11:58 UTC) #3
John
lgtm https://codereview.chromium.org/1617993005/diff/1/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1617993005/diff/1/src/IceAssemblerARM32.cpp#newcode2247 src/IceAssemblerARM32.cpp:2247: (void)AddressEncoding; // Make MINIMAL build happy. no need ...
4 years, 11 months ago (2016-01-22 18:47:41 UTC) #4
Karl
Committed patchset #2 (id:20001) manually as e078db8ed0b7064de8e32f3b9145dcf30c1e430a (presubmit successful).
4 years, 11 months ago (2016-01-22 20:39:55 UTC) #6
Karl
https://codereview.chromium.org/1617993005/diff/1/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1617993005/diff/1/src/IceAssemblerARM32.cpp#newcode2247 src/IceAssemblerARM32.cpp:2247: (void)AddressEncoding; // Make MINIMAL build happy. On 2016/01/22 18:47:40, ...
4 years, 11 months ago (2016-01-22 20:42:19 UTC) #7
Jim Stichnoth
https://codereview.chromium.org/1617993005/diff/20001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1617993005/diff/20001/src/IceAssemblerARM32.cpp#newcode363 src/IceAssemblerARM32.cpp:363: Offset = -Offset; I assume this is probably not ...
4 years, 11 months ago (2016-01-22 22:47:15 UTC) #8
John
https://codereview.chromium.org/1617993005/diff/20001/src/IceAssemblerARM32.cpp File src/IceAssemblerARM32.cpp (right): https://codereview.chromium.org/1617993005/diff/20001/src/IceAssemblerARM32.cpp#newcode363 src/IceAssemblerARM32.cpp:363: Offset = -Offset; On 2016/01/22 22:47:15, stichnot wrote: > ...
4 years, 11 months ago (2016-01-22 23:33:25 UTC) #9
Karl
4 years, 11 months ago (2016-01-25 19:03:26 UTC) #10
Message was sent while issue was closed.
https://codereview.chromium.org/1617993005/diff/20001/src/IceAssemblerARM32.cpp
File src/IceAssemblerARM32.cpp (right):

https://codereview.chromium.org/1617993005/diff/20001/src/IceAssemblerARM32.c...
src/IceAssemblerARM32.cpp:363: Offset = -Offset;
On 2016/01/22 23:33:25, John wrote:
> On 2016/01/22 22:47:15, stichnot wrote:
> > I assume this is probably not possible, but it sets off a boundary-case
> trigger
> > for me - what happens when Offset == std::numeric_limits<IValueT>::lowest()?

> > (i.e. MININT)
> 
> arm32 immediates are small (usually 8-bits, sometimes 12-, rarely 24-bits) so
> this should not be a problem.

Fixing with CL https://codereview.chromium.org/1630863002

Powered by Google App Engine
This is Rietveld 408576698