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

Issue 2339323004: [SubZero] Use DIV instruction instead of TargetHelperCall (Closed)

Created:
4 years, 3 months ago by jaydeep.patil
Modified:
4 years, 3 months ago
Reviewers:
Karl, obucinac, John, sagar.thakur, Jim Stichnoth, srdjan.obucina, Eric Holk
CC:
native-client-reviews_googlegroups.com, rich.fuhler_imgtec.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

[SubZero] Use DIV instruction instead of TargetHelperCall Use DIV/DIVU instructions provided by MIPS32 ISA instead of calling target helper function (__divsi3 etc.). These instructions give 32-bit quotient and remainder in 32-bit special LO/HI registers respectively. An additional instructions to check for divide-by-zero (Trap if equal) is emitted after the DIV/DIVU instructions. R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=cc6dea76a7f31c89746c1dfcca827ad07d83d2b1

Patch Set 1 #

Total comments: 6

Patch Set 2 : Alphabetize #

Total comments: 8

Patch Set 3 : Addressed review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+81 lines, -70 lines) Patch
M src/IceInstMIPS32.h View 1 2 3 chunks +56 lines, -0 lines 0 comments Download
M src/IceInstMIPS32.cpp View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 2 6 chunks +5 lines, -65 lines 0 comments Download
M tests_lit/llvm2ice_tests/arith.ll View 5 chunks +15 lines, -5 lines 0 comments Download

Messages

Total messages: 13 (4 generated)
jaydeep.patil
4 years, 3 months ago (2016-09-16 05:53:53 UTC) #3
obucinac
https://codereview.chromium.org/2339323004/diff/1/src/IceInstMIPS32.cpp File src/IceInstMIPS32.cpp (right): https://codereview.chromium.org/2339323004/diff/1/src/IceInstMIPS32.cpp#newcode92 src/IceInstMIPS32.cpp:92: template <> const char *InstMIPS32Teq::Opcode = "teq"; Alphabetize https://codereview.chromium.org/2339323004/diff/1/src/IceInstMIPS32.h ...
4 years, 3 months ago (2016-09-16 10:30:42 UTC) #5
jaydeep.patil
https://codereview.chromium.org/2339323004/diff/1/src/IceInstMIPS32.cpp File src/IceInstMIPS32.cpp (right): https://codereview.chromium.org/2339323004/diff/1/src/IceInstMIPS32.cpp#newcode92 src/IceInstMIPS32.cpp:92: template <> const char *InstMIPS32Teq::Opcode = "teq"; On 2016/09/16 ...
4 years, 3 months ago (2016-09-16 10:39:07 UTC) #6
Jim Stichnoth
https://codereview.chromium.org/2339323004/diff/20001/src/IceInstMIPS32.h File src/IceInstMIPS32.h (right): https://codereview.chromium.org/2339323004/diff/20001/src/IceInstMIPS32.h#newcode926 src/IceInstMIPS32.h:926: const uint32_t Tcode) { I would remove the "const" ...
4 years, 3 months ago (2016-09-16 16:33:02 UTC) #7
jaydeep.patil
https://codereview.chromium.org/2339323004/diff/20001/src/IceInstMIPS32.h File src/IceInstMIPS32.h (right): https://codereview.chromium.org/2339323004/diff/20001/src/IceInstMIPS32.h#newcode926 src/IceInstMIPS32.h:926: const uint32_t Tcode) { On 2016/09/16 16:33:02, stichnot wrote: ...
4 years, 3 months ago (2016-09-19 03:30:51 UTC) #8
obucinac
https://codereview.chromium.org/2339323004/diff/20001/src/IceTargetLoweringMIPS32.cpp File src/IceTargetLoweringMIPS32.cpp (right): https://codereview.chromium.org/2339323004/diff/20001/src/IceTargetLoweringMIPS32.cpp#newcode1903 src/IceTargetLoweringMIPS32.cpp:1903: _teq(Src1R, T_Zero, 7); // Trap if divide-by-zero auto *T_Zero ...
4 years, 3 months ago (2016-09-19 03:37:04 UTC) #9
jaydeep.patil
https://codereview.chromium.org/2339323004/diff/20001/src/IceTargetLoweringMIPS32.cpp File src/IceTargetLoweringMIPS32.cpp (right): https://codereview.chromium.org/2339323004/diff/20001/src/IceTargetLoweringMIPS32.cpp#newcode1903 src/IceTargetLoweringMIPS32.cpp:1903: _teq(Src1R, T_Zero, 7); // Trap if divide-by-zero On 2016/09/19 ...
4 years, 3 months ago (2016-09-19 05:04:40 UTC) #10
Jim Stichnoth
lgtm
4 years, 3 months ago (2016-09-19 23:48:24 UTC) #11
Jim Stichnoth
4 years, 3 months ago (2016-09-19 23:48:38 UTC) #13
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
cc6dea76a7f31c89746c1dfcca827ad07d83d2b1 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698