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

Issue 604873003: Handle add, adc, etc., mfence, div, idiv, mul in the assembler. (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 add, adc, etc., mfence, div, idiv, mul in the assembler. Add a test to check that the encodings are efficient for immediates (chooses the i8, and eax encodings when appropriate). The .byte syntax breaks NaCl bundle straddle checking in llvm-mc, so I had to change one of the tests which noted that a nop appeared (no longer does). This also assumes that _add(), etc. are usually done with _add(T, ...) and then _mov(dst, T) so that the dest is always register. BUG=none R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=af2780c287ec6573d433c6d119f558c98eae05e1

Patch Set 1 #

Total comments: 5

Patch Set 2 : match regex under encoding bytes #

Patch Set 3 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+538 lines, -156 lines) Patch
M src/IceInstX8632.h View 1 2 9 chunks +54 lines, -11 lines 0 comments Download
M src/IceInstX8632.cpp View 1 9 chunks +88 lines, -21 lines 0 comments Download
M src/assembler_ia32.h View 1 3 chunks +30 lines, -30 lines 0 comments Download
M src/assembler_ia32.cpp View 5 chunks +230 lines, -92 lines 0 comments Download
A tests_lit/assembler/x86/immediate_encodings.ll View 1 1 chunk +114 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/simple-loop.ll View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M tests_lit/llvm2ice_tests/test_i1.ll View 1 chunk +22 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
jvoung (off chromium)
https://codereview.chromium.org/604873003/diff/1/src/assembler_ia32.cpp File src/assembler_ia32.cpp (right): https://codereview.chromium.org/604873003/diff/1/src/assembler_ia32.cpp#newcode1202 src/assembler_ia32.cpp:1202: if (Ty == IceType_i8 || Ty == IceType_i1) Turns ...
6 years, 2 months ago (2014-09-25 20:05:53 UTC) #2
Jim Stichnoth
lgtm https://codereview.chromium.org/604873003/diff/1/src/IceInstX8632.cpp File src/IceInstX8632.cpp (right): https://codereview.chromium.org/604873003/diff/1/src/IceInstX8632.cpp#newcode350 src/IceInstX8632.cpp:350: Str.write_hex(Asm->LoadBuffer<uint8_t>(StartPosition + i)); Thanks! :) https://codereview.chromium.org/604873003/diff/1/src/assembler_ia32.cpp File src/assembler_ia32.cpp ...
6 years, 2 months ago (2014-09-26 02:31:37 UTC) #3
jvoung (off chromium)
https://codereview.chromium.org/604873003/diff/1/tests_lit/assembler/x86/immediate_encodings.ll File tests_lit/assembler/x86/immediate_encodings.ll (right): https://codereview.chromium.org/604873003/diff/1/tests_lit/assembler/x86/immediate_encodings.ll#newcode45 tests_lit/assembler/x86/immediate_encodings.ll:45: ; CHECK: 80 f1 7f xor {{[^a]}}l, 127 On ...
6 years, 2 months ago (2014-09-26 16:25:50 UTC) #4
jvoung (off chromium)
6 years, 2 months ago (2014-09-26 18:14:35 UTC) #5
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as af2780c (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698