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

Issue 412593002: Lower icmp operations between vector values. (Closed)

Created:
6 years, 5 months ago by wala
Modified:
6 years, 5 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Visibility:
Public.

Description

Lower icmp operations between vector values. SSE2 only has signed integer comparison. Unsigned compares are implemented by inverting the sign bits of the operands and doing a signed compare. A common pattern in clang generated IR is a vector compare which generates an i1 vector followed by a sign extension of the result of the compare. The x86 comparison instructions already generate sign extended values, so we can eliminate unnecessary sext operations that follow compares in the IR. BUG=none R=jvoung@chromium.org, stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=9a0168a

Patch Set 1 #

Patch Set 2 : Formatting #

Patch Set 3 : Do llvm-mc assembly validation in the lit test #

Patch Set 4 : Pass -arch=x86 to llvm-mc. #

Patch Set 5 : Pass -filetype=obj to llvm-mc. #

Total comments: 12

Patch Set 6 : Address comments, add CHECK-LABEL directives to test #

Total comments: 2

Patch Set 7 : Fix whitespace in comment #

Patch Set 8 : Fix another whitespace issue #

Patch Set 9 : Remove unused typedefs. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1172 lines, -24 lines) Patch
M crosstest/runtests.sh View 1 chunk +1 line, -1 line 0 comments Download
M crosstest/test_icmp.h View 2 chunks +32 lines, -2 lines 0 comments Download
M crosstest/test_icmp.cpp View 2 chunks +22 lines, -4 lines 0 comments Download
A crosstest/test_icmp_i1vec.ll View 1 chunk +271 lines, -0 lines 0 comments Download
M crosstest/test_icmp_main.cpp View 1 2 3 4 5 6 7 8 7 chunks +180 lines, -9 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 6 7 3 chunks +154 lines, -8 lines 0 comments Download
A tests_lit/llvm2ice_tests/vector-icmp.ll View 1 2 3 4 5 1 chunk +508 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
wala
6 years, 5 months ago (2014-07-22 18:18:50 UTC) #1
Jim Stichnoth
Looking good, apart from my low-level comment. https://codereview.chromium.org/412593002/diff/80001/src/IceInst.def File src/IceInst.def (right): https://codereview.chromium.org/412593002/diff/80001/src/IceInst.def#newcode86 src/IceInst.def:86: //#define X(tag, ...
6 years, 5 months ago (2014-07-23 17:29:29 UTC) #2
jvoung (off chromium)
mostly nits from me https://codereview.chromium.org/412593002/diff/80001/crosstest/test_icmp_main.cpp File crosstest/test_icmp_main.cpp (right): https://codereview.chromium.org/412593002/diff/80001/crosstest/test_icmp_main.cpp#newcode185 crosstest/test_icmp_main.cpp:185: // True on wraparound nit: ...
6 years, 5 months ago (2014-07-23 18:54:55 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/412593002/diff/80001/tests_lit/llvm2ice_tests/vector-icmp.ll File tests_lit/llvm2ice_tests/vector-icmp.ll (right): https://codereview.chromium.org/412593002/diff/80001/tests_lit/llvm2ice_tests/vector-icmp.ll#newcode4 tests_lit/llvm2ice_tests/vector-icmp.ll:4: ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck ...
6 years, 5 months ago (2014-07-23 19:02:12 UTC) #4
wala
https://codereview.chromium.org/412593002/diff/80001/crosstest/test_icmp_main.cpp File crosstest/test_icmp_main.cpp (right): https://codereview.chromium.org/412593002/diff/80001/crosstest/test_icmp_main.cpp#newcode185 crosstest/test_icmp_main.cpp:185: // True on wraparound On 2014/07/23 18:54:55, jvoung wrote: ...
6 years, 5 months ago (2014-07-23 20:40:37 UTC) #5
Jim Stichnoth
lgtm https://codereview.chromium.org/412593002/diff/100001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/412593002/diff/100001/src/IceTargetLoweringX8632.cpp#newcode2398 src/IceTargetLoweringX8632.cpp:2398: // i64. Could revert this whitespace-only change. :)
6 years, 5 months ago (2014-07-23 20:58:02 UTC) #6
wala
https://codereview.chromium.org/412593002/diff/100001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/412593002/diff/100001/src/IceTargetLoweringX8632.cpp#newcode2398 src/IceTargetLoweringX8632.cpp:2398: // i64. On 2014/07/23 20:58:01, stichnot wrote: > Could ...
6 years, 5 months ago (2014-07-23 21:02:22 UTC) #7
jvoung (off chromium)
lgtm
6 years, 5 months ago (2014-07-23 21:46:49 UTC) #8
wala
6 years, 5 months ago (2014-07-23 21:56:14 UTC) #9
Message was sent while issue was closed.
Committed patchset #9 manually as r9a0168a (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698