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

Issue 476323004: Start adding an integrated assembler. (Closed)

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

Start adding an integrated assembler. Patchset 1 is more or less the original dart assembler code (revision 39313) The other patches show the modifications. Handling: * adc, add, sbb, sub * and, or, xor * addss/sd, divss/sd, mulss/sd, subss/sd * addps, divps, mulps, subps * padd, psub * sqrtss/sd * cbw, cwd, cdq * cmov * cmpps * cmp * ucomiss/sd * movsxb/w * movzxb/w * nop * pop * ret Sort of handling: * Call (can't force PC-rel reloc w/ llvm-mc) Jumps need to be handled last because they require accurate instruction distances. BUG=xxx

Patch Set 1 #

Patch Set 2 : it compiles #

Patch Set 3 : use for pop #

Patch Set 4 : addss/sd #

Patch Set 5 : sqrt #

Patch Set 6 : movsx also #

Patch Set 7 : make default to test more, fix sqrt of immediates #

Patch Set 8 : pick off more easy SIMD #

Patch Set 9 : cmov #

Patch Set 10 : simplify #

Total comments: 6

Patch Set 11 : add, adc, sub, sbb #

Patch Set 12 : and, or, xor #

Patch Set 13 : icmp #

Patch Set 14 : format #

Patch Set 15 : ucomiss also #

Patch Set 16 : rebase #

Patch Set 17 : note possible refactoring #

Patch Set 18 : lit test to check encodings, swap complexi8 #

Total comments: 6

Patch Set 19 : beef up test a bit #

Patch Set 20 : move constant #

Patch Set 21 : reduce some duplication #

Patch Set 22 : make fixups part of address #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4497 lines, -140 lines) Patch
M Makefile.standalone View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +3 lines, -1 line 0 comments Download
M src/IceCfg.h View 1 2 3 4 3 chunks +10 lines, -0 lines 0 comments Download
M src/IceCfg.cpp View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceCfgNode.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +5 lines, -1 line 0 comments Download
M src/IceClFlags.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +3 lines, -1 line 0 comments Download
M src/IceConverter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +6 lines, -2 lines 0 comments Download
A src/IceFixups.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +32 lines, -0 lines 0 comments Download
M src/IceGlobalContext.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -1 line 0 comments Download
M src/IceGlobalContext.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +14 lines, -6 lines 0 comments Download
M src/IceInst.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +2 lines, -0 lines 0 comments Download
M src/IceInst.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -0 lines 0 comments Download
M src/IceInstX8632.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 21 chunks +41 lines, -0 lines 0 comments Download
M src/IceInstX8632.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 29 chunks +678 lines, -4 lines 0 comments Download
M src/IceInstX8632.def View 1 2 3 4 5 6 7 1 chunk +21 lines, -15 lines 0 comments Download
A src/IceMemoryRegion.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +100 lines, -0 lines 0 comments Download
M src/IceOperand.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +12 lines, -4 lines 0 comments Download
M src/IceTargetLowering.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +3 lines, -0 lines 0 comments Download
M src/IceTargetLowering.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +10 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8632.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +4 lines, -1 line 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 49 chunks +95 lines, -78 lines 0 comments Download
A src/IceUtils.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +54 lines, -0 lines 0 comments Download
M src/PNaClTranslator.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +5 lines, -2 lines 0 comments Download
A src/assembler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +222 lines, -0 lines 0 comments Download
A src/assembler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +129 lines, -0 lines 0 comments Download
A src/assembler_constants_ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +105 lines, -0 lines 0 comments Download
A src/assembler_ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +739 lines, -0 lines 0 comments Download
A src/assembler_ia32.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2044 lines, -0 lines 0 comments Download
M src/llvm2ice.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -0 lines 0 comments Download
A tests_lit/assembler/x86/immediate_encodings.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +94 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/align-spill-locations.ll View 1 2 3 4 5 6 4 chunks +11 lines, -6 lines 0 comments Download
M tests_lit/llvm2ice_tests/ebp_args.ll View 1 2 3 4 5 6 2 chunks +16 lines, -14 lines 0 comments Download
M tests_lit/llvm2ice_tests/fp.pnacl.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +19 lines, -0 lines 0 comments Download
M tests_lit/llvm2ice_tests/nop-insertion.ll View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -3 lines 0 comments Download
M tests_lit/llvm2ice_tests/test_i1.ll View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 20 (12 generated)
jvoung (off chromium)
Patchset #8 (id:140001) has been deleted
6 years, 4 months ago (2014-08-26 00:58:08 UTC) #1
jvoung (off chromium)
Patchset #7 (id:120001) has been deleted
6 years, 4 months ago (2014-08-26 00:58:12 UTC) #2
jvoung (off chromium)
Thought I would send out the WIP patch, in case there's something to watch out ...
6 years, 3 months ago (2014-09-04 18:16:56 UTC) #13
Jim Stichnoth
I haven't looked deeply at the Dart-based assembler code, but here are some initial comments. ...
6 years, 3 months ago (2014-09-04 20:57:48 UTC) #14
jvoung (off chromium)
Thanks, added adc,add,sub,sbb,and,or,xor,cmp,ucomiss. Might be able to change the adc,add,etc. cases to separate the opcodes ...
6 years, 3 months ago (2014-09-08 21:39:01 UTC) #16
Jim Stichnoth
https://codereview.chromium.org/476323004/diff/580001/src/IceInstX8632.cpp File src/IceInstX8632.cpp (right): https://codereview.chromium.org/476323004/diff/580001/src/IceInstX8632.cpp#newcode89 src/IceInstX8632.cpp:89: // Should we just make a ConstantInteger32? I was ...
6 years, 3 months ago (2014-09-09 14:58:42 UTC) #17
jvoung (off chromium)
https://codereview.chromium.org/476323004/diff/580001/src/IceInstX8632.cpp File src/IceInstX8632.cpp (right): https://codereview.chromium.org/476323004/diff/580001/src/IceInstX8632.cpp#newcode89 src/IceInstX8632.cpp:89: // Should we just make a ConstantInteger32? On 2014/09/09 ...
6 years, 3 months ago (2014-09-15 17:19:15 UTC) #18
jvoung (off chromium)
6 years, 3 months ago (2014-09-16 22:41:15 UTC) #20
I'm going to close this CL and split it up...

Powered by Google App Engine
This is Rietveld 408576698