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

Issue 617593002: Handle imul, pcmpeq, pcmpgt. (Closed)

Created:
6 years, 2 months ago by jvoung (off chromium)
Modified:
6 years, 2 months ago
Reviewers:
Jim Stichnoth
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Visibility:
Public.

Description

Handle imul, pcmpeq, pcmpgt. Be sure to legalize 8-bit imul immediates (there is only the r/m form). Add a test for that, and cover a couple of other ops too... There is a one-byte-shorter form when Dest/Src0 == EAX and Src1 is not an immediate, but that isn't taken advantage of. Go ahead and add the optimization for 8-bit immediates for i16/i32 (not allowed for i8). It shows up sometimes in spec, e.g., to multiply by 10. There is a lot of multiply by 4 as well, that we could strength-reduce. BUG=none R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=0ac50dcfc0b5d67663265e24a030b0d180f690e5

Patch Set 1 #

Patch Set 2 : go ahead and optimize i8 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+385 lines, -29 lines) Patch
M src/IceInstX8632.h View 3 chunks +4 lines, -3 lines 0 comments Download
M src/IceInstX8632.cpp View 2 chunks +30 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 chunk +4 lines, -2 lines 1 comment Download
M src/assembler_ia32.h View 2 chunks +10 lines, -6 lines 0 comments Download
M src/assembler_ia32.cpp View 1 2 chunks +90 lines, -18 lines 0 comments Download
M tests_lit/assembler/x86/immediate_encodings.ll View 1 1 chunk +83 lines, -0 lines 0 comments Download
A tests_lit/llvm2ice_tests/8bit.pnacl.ll View 1 chunk +164 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (1 generated)
jvoung (off chromium)
6 years, 2 months ago (2014-09-29 23:04:10 UTC) #2
Jim Stichnoth
lgtm https://codereview.chromium.org/617593002/diff/20001/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/617593002/diff/20001/src/IceTargetLoweringX8632.cpp#newcode1586 src/IceTargetLoweringX8632.cpp:1586: Src1 = legalize(Src1, Legal_Reg | Legal_Mem); cool, thanks!
6 years, 2 months ago (2014-09-30 05:17:07 UTC) #3
jvoung (off chromium)
6 years, 2 months ago (2014-09-30 15:36:11 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
0ac50dcfc0b5d67663265e24a030b0d180f690e5 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698