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

Issue 1024253003: Subzero: Don't use key SSE instructions on potentially unaligned loads. (Closed)

Created:
5 years, 9 months ago by Jim Stichnoth
Modified:
5 years, 9 months 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

Subzero: Don't use key SSE instructions on potentially unaligned loads. The non-mov-like SSE instructions generally require 16-byte aligned memory operands. The PNaCl bitcode ABI only guarantees 4-byte alignment or less on vector loads and stores. Subzero maintains stack alignment so stack memory operands are fine. We handle this by legalizing memory operands into a register wherever there is doubt. This bug was first discovered on the vector_align scons test. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4083 BUG= https://code.google.com/p/nativeclient/issues/detail?id=4133 R=jvoung@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=f79d2cb6a27ad93a9080b0b0bf5b0bc1da5539d9

Patch Set 1 #

Total comments: 2

Patch Set 2 : Push the legalization into the switch statement for better precision #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -4 lines) Patch
M src/IceInstX8632.h View 3 chunks +27 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 8 chunks +25 lines, -1 line 0 comments Download
M tests_lit/llvm2ice_tests/address-mode-opt.ll View 2 chunks +5 lines, -3 lines 0 comments Download
A tests_lit/llvm2ice_tests/vector-align.ll View 1 chunk +85 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
Jim Stichnoth
5 years, 9 months ago (2015-03-22 22:47:04 UTC) #2
JF
As we discussed please file a bug to fix PNaCl to allow vector-sized alignment as ...
5 years, 9 months ago (2015-03-23 16:45:21 UTC) #3
Jim Stichnoth
On 2015/03/23 16:45:21, JF wrote: > As we discussed please file a bug to fix ...
5 years, 9 months ago (2015-03-23 18:02:51 UTC) #4
jvoung (off chromium)
lgtm https://codereview.chromium.org/1024253003/diff/1/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/1024253003/diff/1/src/IceTargetLoweringX8632.cpp#newcode2597 src/IceTargetLoweringX8632.cpp:2597: if (llvm::isa<OperandX8632Mem>(Src0RM)) Vs the other places where only ...
5 years, 9 months ago (2015-03-23 21:30:35 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/1024253003/diff/1/src/IceTargetLoweringX8632.cpp File src/IceTargetLoweringX8632.cpp (right): https://codereview.chromium.org/1024253003/diff/1/src/IceTargetLoweringX8632.cpp#newcode2597 src/IceTargetLoweringX8632.cpp:2597: if (llvm::isa<OperandX8632Mem>(Src0RM)) On 2015/03/23 21:30:35, jvoung wrote: > Vs ...
5 years, 9 months ago (2015-03-23 22:10:03 UTC) #6
Jim Stichnoth
5 years, 9 months ago (2015-03-23 22:10:58 UTC) #7
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
f79d2cb6a27ad93a9080b0b0bf5b0bc1da5539d9 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698