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

Issue 348373005: Bitcast of 64-bit immediates may need to split the immediate, not a var. (Closed)

Created:
6 years, 6 months ago by jvoung (off chromium)
Modified:
6 years, 6 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

Bitcast of 64-bit immediates may need to split the immediate, not a var. Currently, the integer immediate is legalized to a 64-bit integer register first, and then the lower/upper parts of that register are used for the bitcast. However, mov(64_bit_reg, imm) done by the legalization isn't legal. Similarly, trunc of 64-bit immediates need to take the lower half of the immediate, not legalize to a var first. This shifts the legalization code around. Other cases where immediates are illegal and legalized are idiv/div, but for those cases 64-bit operands are handled separately via a function call. The function call code properly splits up immediate arguments. BUG=none R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=1ee3416

Patch Set 1 #

Total comments: 2

Patch Set 2 : move and add a comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+123 lines, -28 lines) Patch
M src/IceTargetLoweringX8632.cpp View 1 16 chunks +47 lines, -26 lines 0 comments Download
M tests_lit/llvm2ice_tests/64bit.pnacl.ll View 2 chunks +42 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/bitcast.ll View 4 chunks +23 lines, -2 lines 0 comments Download
M tests_lit/llvm2ice_tests/fp.pnacl.ll View 1 chunk +11 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
jvoung (off chromium)
6 years, 6 months ago (2014-06-23 22:01:37 UTC) #1
Jim Stichnoth
LGTM https://codereview.chromium.org/348373005/diff/1/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/348373005/diff/1/src/IceTargetLoweringX8632.cpp#newcode1638 src/IceTargetLoweringX8632.cpp:1638: // FakeDef(s.f64) I realize this comment was changed ...
6 years, 6 months ago (2014-06-23 22:40:58 UTC) #2
jvoung (off chromium)
https://codereview.chromium.org/348373005/diff/1/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/348373005/diff/1/src/IceTargetLoweringX8632.cpp#newcode1638 src/IceTargetLoweringX8632.cpp:1638: // FakeDef(s.f64) On 2014/06/23 22:40:58, stichnot wrote: > I ...
6 years, 6 months ago (2014-06-24 00:13:27 UTC) #3
jvoung (off chromium)
6 years, 6 months ago (2014-06-24 20:43:37 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 manually as r1ee3416 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698