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

Issue 1497033002: Fuse icmp/fcmp with select (Closed)

Created:
5 years ago by sehr
Modified:
5 years 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

Fuse icmp/fcmp with select Allows the optimization of pairs of operations, including 64-bit compares and selects as well as preparing for idioms (minsd, maxsd, etc.). BUG= R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=e398428c3ef8ed2339c0f334dd30a7d3f0ed4b6e

Patch Set 1 #

Patch Set 2 : Make case order match #

Patch Set 3 : Add support for peephole opcodes #

Patch Set 4 : Make cmpps handle doubles #

Patch Set 5 : After running format #

Patch Set 6 : Fixed everything but cmpps #

Patch Set 7 : unittests work #

Total comments: 26

Patch Set 8 : Code review changes. #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+1730 lines, -742 lines) Patch
M crosstest/test_fcmp.pnacl.ll View 1 chunk +320 lines, -0 lines 0 comments Download
M crosstest/test_fcmp_main.cpp View 3 chunks +43 lines, -1 line 0 comments Download
M src/IceAssemblerX86Base.h View 1 2 3 4 5 6 7 4 chunks +29 lines, -24 lines 0 comments Download
M src/IceAssemblerX86BaseImpl.h View 1 2 3 4 5 6 7 12 chunks +134 lines, -86 lines 0 comments Download
M src/IceInstX8632.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M src/IceInstX8632.def View 1 2 3 4 5 6 7 1 chunk +17 lines, -17 lines 0 comments Download
M src/IceInstX8664.cpp View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M src/IceInstX8664.def View 1 2 3 4 5 6 7 1 chunk +17 lines, -17 lines 0 comments Download
M src/IceInstX86Base.h View 1 2 3 4 5 6 7 14 chunks +150 lines, -1 line 0 comments Download
M src/IceInstX86BaseImpl.h View 1 2 3 4 5 6 7 3 chunks +84 lines, -3 lines 2 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 6 7 3 chunks +3 lines, -3 lines 0 comments Download
M src/IceTargetLoweringX8632Traits.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8664.cpp View 1 2 3 4 5 6 7 3 chunks +3 lines, -3 lines 0 comments Download
M src/IceTargetLoweringX8664Traits.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 3 4 5 6 7 6 chunks +63 lines, -22 lines 2 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 3 4 5 6 7 26 chunks +578 lines, -374 lines 0 comments Download
M tests_lit/llvm2ice_tests/64bit.pnacl.ll View 1 2 3 4 5 6 7 3 chunks +12 lines, -6 lines 0 comments Download
M tests_lit/llvm2ice_tests/fp.cmp.ll View 2 chunks +6 lines, -4 lines 0 comments Download
M tests_lit/llvm2ice_tests/undef.ll View 1 2 2 chunks +10 lines, -2 lines 0 comments Download
M unittest/AssemblerX8632/XmmArith.cpp View 1 2 3 4 5 6 10 chunks +124 lines, -86 lines 0 comments Download
M unittest/AssemblerX8664/XmmArith.cpp View 1 2 3 4 5 6 9 chunks +129 lines, -89 lines 0 comments Download

Messages

Total messages: 12 (3 generated)
sehr
It's a big one, and in preparation for some peepholes. PTAL.
5 years ago (2015-12-04 04:45:12 UTC) #3
sehr
On 2015/12/04 04:45:12, sehr (please use this account) wrote: > It's a big one, and ...
5 years ago (2015-12-05 16:51:22 UTC) #4
sehr
On 2015/12/05 16:51:22, sehr (please use this account) wrote: > On 2015/12/04 04:45:12, sehr (please ...
5 years ago (2015-12-05 23:58:21 UTC) #5
John
I'll leave the final approval to Jim. https://codereview.chromium.org/1497033002/diff/120001/src/IceTargetLoweringX86Base.h File src/IceTargetLoweringX86Base.h (right): https://codereview.chromium.org/1497033002/diff/120001/src/IceTargetLoweringX86Base.h#newcode778 src/IceTargetLoweringX86Base.h:778: /// variable ...
5 years ago (2015-12-07 13:07:44 UTC) #6
Jim Stichnoth
https://codereview.chromium.org/1497033002/diff/120001/src/IceInstX86BaseImpl.h File src/IceInstX86BaseImpl.h (right): https://codereview.chromium.org/1497033002/diff/120001/src/IceInstX86BaseImpl.h#newcode1112 src/IceInstX86BaseImpl.h:1112: char buf[30]; This style of generating the opcode string ...
5 years ago (2015-12-08 18:56:00 UTC) #7
sehr
I addressed most of the comments (I hope), but kicked two issues down the road: ...
5 years ago (2015-12-15 20:45:44 UTC) #8
Jim Stichnoth
lgtm https://codereview.chromium.org/1497033002/diff/140001/src/IceInstX86BaseImpl.h File src/IceInstX86BaseImpl.h (right): https://codereview.chromium.org/1497033002/diff/140001/src/IceInstX86BaseImpl.h#newcode1114 src/IceInstX86BaseImpl.h:1114: buf, llvm::array_lengthof(buf), "andn%s", Instead of: "andn%s", Can you ...
5 years ago (2015-12-16 01:00:37 UTC) #9
sehr
Thanks for your patience. Waiting for another test run to commit. https://codereview.chromium.org/1497033002/diff/140001/src/IceInstX86BaseImpl.h File src/IceInstX86BaseImpl.h (right): ...
5 years ago (2015-12-16 01:34:04 UTC) #10
sehr
5 years ago (2015-12-16 01:34:59 UTC) #12
Message was sent while issue was closed.
Committed patchset #8 (id:140001) manually as
e398428c3ef8ed2339c0f334dd30a7d3f0ed4b6e (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698