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

Issue 1716483003: Subzero: implement 64 bit multiply in mips32 (Closed)

Created:
4 years, 10 months ago by rkotlerimgtec
Modified:
4 years, 10 months ago
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: implement 64 bit multiply in mips32 Implement 64 bit multiply in mips32 and, in addition, add the lo/hi registers which are also used for other 64 bit math such as div, rem. BUG= R=jpp@chromium.org, stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=a80cdbc29085d2d8582a54441f41bb444bf31dca

Patch Set 1 #

Total comments: 8

Patch Set 2 : changes suggested by stichnot #

Total comments: 2

Patch Set 3 : changes suggested by stichnot #

Unified diffs Side-by-side diffs Delta from patch set Stats (+191 lines, -35 lines) Patch
M src/IceInstMIPS32.h View 3 chunks +18 lines, -0 lines 0 comments Download
M src/IceInstMIPS32.cpp View 4 chunks +71 lines, -0 lines 0 comments Download
M src/IceInstMIPS32.def View 1 2 3 chunks +40 lines, -34 lines 0 comments Download
M src/IceRegistersMIPS32.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/IceTargetLoweringMIPS32.h View 1 chunk +24 lines, -0 lines 0 comments Download
M src/IceTargetLoweringMIPS32.cpp View 1 2 chunks +19 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/64bit.pnacl.ll View 2 chunks +18 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (6 generated)
rkotlerimgtec
4 years, 10 months ago (2016-02-19 01:58:20 UTC) #3
John
lgtm https://codereview.chromium.org/1716483003/diff/1/src/IceTargetLoweringMIPS32.cpp File src/IceTargetLoweringMIPS32.cpp (right): https://codereview.chromium.org/1716483003/diff/1/src/IceTargetLoweringMIPS32.cpp#newcode657 src/IceTargetLoweringMIPS32.cpp:657: _mul(TM1, Src0HiR, Src1LoR); I'm late to the party, ...
4 years, 10 months ago (2016-02-19 02:52:41 UTC) #4
rkotlerimgtec
mul is a pure signed 32 bit operation, i.e. no overflow, 32 bit multiply with ...
4 years, 10 months ago (2016-02-19 03:06:43 UTC) #5
rkotlerimgtec
Now that I have the LO, HI registers I could just do a fakedef after ...
4 years, 10 months ago (2016-02-19 03:08:41 UTC) #6
rkotlerimgtec
There are some other weird case of how LO, HI can interact with mul. Anyway, ...
4 years, 10 months ago (2016-02-19 03:17:50 UTC) #7
rkotlerimgtec
For example, (re. MTLO in instruction: "A computed result written to the HI/LO pair by ...
4 years, 10 months ago (2016-02-19 03:19:05 UTC) #8
rkotlerimgtec
I think that most of these special cases do not apply at all to mips ...
4 years, 10 months ago (2016-02-19 03:20:40 UTC) #9
rkotlerimgtec
https://codereview.chromium.org/1716483003/diff/1/src/IceTargetLoweringMIPS32.cpp File src/IceTargetLoweringMIPS32.cpp (right): https://codereview.chromium.org/1716483003/diff/1/src/IceTargetLoweringMIPS32.cpp#newcode657 src/IceTargetLoweringMIPS32.cpp:657: _mul(TM1, Src0HiR, Src1LoR); On 2016/02/19 02:52:40, John wrote: > ...
4 years, 10 months ago (2016-02-19 04:50:26 UTC) #10
Jim Stichnoth
Sorry that I can't find any official documentation to reference, so I'll have to repeat ...
4 years, 10 months ago (2016-02-19 14:53:09 UTC) #11
rkotlerimgtec
https://codereview.chromium.org/1716483003/diff/1/src/IceInstMIPS32.def File src/IceInstMIPS32.def (right): https://codereview.chromium.org/1716483003/diff/1/src/IceInstMIPS32.def#newcode106 src/IceInstMIPS32.def:106: X(Reg_LO, = Reg_ZERO + 32, "lo", 0, 0, 0, ...
4 years, 10 months ago (2016-02-19 23:53:33 UTC) #15
Jim Stichnoth
https://codereview.chromium.org/1716483003/diff/60001/src/IceInstMIPS32.def File src/IceInstMIPS32.def (right): https://codereview.chromium.org/1716483003/diff/60001/src/IceInstMIPS32.def#newcode44 src/IceInstMIPS32.def:44: X(Reg_AT, =1, "at", 0, 0, 0, 0, 0, 0, ...
4 years, 10 months ago (2016-02-20 00:03:59 UTC) #16
rkotlerimgtec
https://codereview.chromium.org/1716483003/diff/60001/src/IceInstMIPS32.def File src/IceInstMIPS32.def (right): https://codereview.chromium.org/1716483003/diff/60001/src/IceInstMIPS32.def#newcode44 src/IceInstMIPS32.def:44: X(Reg_AT, =1, "at", 0, 0, 0, 0, 0, 0, ...
4 years, 10 months ago (2016-02-20 00:32:43 UTC) #17
Jim Stichnoth
lgtm
4 years, 10 months ago (2016-02-20 06:03:15 UTC) #18
Jim Stichnoth
4 years, 10 months ago (2016-02-20 06:03:33 UTC) #20
Message was sent while issue was closed.
Committed patchset #3 (id:80001) manually as
a80cdbc29085d2d8582a54441f41bb444bf31dca (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698