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

Issue 1909853002: Subzero: Fix srem.i8/urem.i8 lowering for x86-64. (Closed)

Created:
4 years, 8 months ago by Jim Stichnoth
Modified:
4 years, 8 months ago
Reviewers:
Eric Holk, Karl, sehr, John
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

Subzero: Fix srem.i8/urem.i8 lowering for x86-64. The problem was that the lowering sequence might lead to the rem result %ah being directly moved into an 8-bit register other than al/bl/cl/dl/ah/bh/ch/dh. This is not encodable, and attempting to encode it leads to actually moving from %spl instead of %ah. The machinery to handle this was already available - copy through a temporary with register class RCX86_IsAhRcvr. So this was just a matter of hooking it up for srem/urem. This CL also requires relaxing some checks in the register allocator for when the -reg-reserve option is used. BUG= https://bugs.chromium.org/p/nativeclient/issues/detail?id=4370 R=jpp@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=2655d9627f11b0c97f10eacf1f730bf66e5db05b

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+44 lines, -7 lines) Patch
M src/IceInstX8664.def View 1 chunk +4 lines, -4 lines 0 comments Download
M src/IceRegAlloc.cpp View 3 chunks +7 lines, -3 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 2 chunks +16 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/8bit.pnacl.ll View 5 chunks +17 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (4 generated)
Jim Stichnoth
4 years, 8 months ago (2016-04-21 06:01:35 UTC) #4
John
lgtm
4 years, 8 months ago (2016-04-21 12:23:36 UTC) #5
Jim Stichnoth
4 years, 8 months ago (2016-04-21 12:38:20 UTC) #7
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
2655d9627f11b0c97f10eacf1f730bf66e5db05b (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698