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

Issue 1273153002: Subzero. Native 64-bit int arithmetic on x86-64. (Closed)

Created:
5 years, 4 months ago by John
Modified:
5 years, 4 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. Native 64-bit int arithmetic on x86-64. This CL modifies the x86 instruction selection template to allow native 64-bit GPR support. It also enables x86-64 crosstests. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4077 R=stichnot@chromium.org Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=1d235425dab1f3dd059973fc53f1b1d5879469e3

Patch Set 1 : If-guards 64-bit special cases in x86 instruction selection. #

Patch Set 2 : Fixes lp64-related build errors in szrt_profiler.c #

Patch Set 3 : Enables x8664 crosstests. #

Patch Set 4 : movabs support #

Patch Set 5 : Changes x86-64 relocation types. #

Patch Set 6 : Fixes test_calling_conv build errors (lp64); Changes stack/frame access so that they are 64-bit in … #

Patch Set 7 : test_calling_conv passes on x8664. #

Patch Set 8 : test_[if]cmp pass on x8664 #

Patch Set 9 : test_simple_loop, test_stacksave, and test_select pass on x8664. #

Patch Set 10 : test_arith passes on x8664. #

Patch Set 11 : Disables broken crosstests. #

Patch Set 12 : test_strengthreduce and mem_intrin pass on x8664. #

Patch Set 13 : test_cast passes on x8664. #

Patch Set 14 : test_bitmanip passes on x8664. #

Patch Set 15 : test_vector_ops passes on x8664. #

Patch Set 16 : test_vector_ops passes on x8664. #

Patch Set 17 : test_sync_atomic passes on x8664. #

Patch Set 18 : Removes the x8664-specific xtest target. #

Total comments: 49

Patch Set 19 : Addresses comments. #

Total comments: 17

Patch Set 20 : Addresses comments. #

Patch Set 21 : Fixes a bug in zext lowering. #

Patch Set 22 : Fixes tests & make format #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1158 lines, -491 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 2 chunks +4 lines, -0 lines 0 comments Download
M crosstest/mem_intrin.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +4 lines, -3 lines 0 comments Download
M crosstest/mem_intrin.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +10 lines, -9 lines 0 comments Download
M crosstest/mem_intrin_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +10 lines, -4 lines 0 comments Download
M crosstest/simple_loop_main.c View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -1 line 0 comments Download
A crosstest/stack_hack.x8664.c View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +76 lines, -0 lines 0 comments Download
M crosstest/test_arith.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +3 lines, -2 lines 0 comments Download
M crosstest/test_arith.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -2 lines 0 comments Download
M crosstest/test_arith_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +8 lines, -2 lines 0 comments Download
M crosstest/test_bitmanip.def View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +8 lines, -6 lines 0 comments Download
M crosstest/test_bitmanip_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +16 lines, -10 lines 0 comments Download
M crosstest/test_calling_conv.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +2 lines, -1 line 0 comments Download
M crosstest/test_calling_conv.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +5 lines, -4 lines 0 comments Download
M crosstest/test_calling_conv_main.cpp View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M crosstest/test_cast.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +7 lines, -6 lines 0 comments Download
M crosstest/test_cast_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 chunks +16 lines, -11 lines 0 comments Download
M crosstest/test_fcmp_main.cpp View 1 2 3 4 5 6 7 1 chunk +5 lines, -1 line 0 comments Download
M crosstest/test_icmp.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -2 lines 0 comments Download
M crosstest/test_icmp.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +3 lines, -2 lines 0 comments Download
M crosstest/test_icmp_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +9 lines, -2 lines 0 comments Download
M crosstest/test_select_main.cpp View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M crosstest/test_stacksave_main.c View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -1 line 0 comments Download
M crosstest/test_strengthreduce_main.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +5 lines, -1 line 0 comments Download
M crosstest/test_sync_atomic.def View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +4 lines, -2 lines 0 comments Download
M crosstest/test_sync_atomic_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 10 chunks +55 lines, -28 lines 0 comments Download
M crosstest/test_vector_ops_main.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +4 lines, -0 lines 0 comments Download
A crosstest/xdefs.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +53 lines, -0 lines 0 comments Download
M pydir/build-runtime.py View 1 1 chunk +2 lines, -0 lines 0 comments Download
M pydir/crosstest.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +13 lines, -1 line 0 comments Download
M pydir/crosstest_generator.py View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M pydir/targets.py View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M runtime/szrt_profiler.c View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M src/IceAssemblerX86Base.h View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +27 lines, -12 lines 0 comments Download
M src/IceAssemblerX86BaseImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 14 chunks +73 lines, -21 lines 0 comments Download
M src/IceELFSection.h View 1 2 3 4 5 1 chunk +1 line, -2 lines 0 comments Download
M src/IceInstX8632.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/IceInstX8664.cpp View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M src/IceInstX86Base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -0 lines 0 comments Download
M src/IceInstX86BaseImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 16 chunks +87 lines, -28 lines 0 comments Download
M src/IceTargetLoweringX8632.cpp View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
M src/IceTargetLoweringX8632Traits.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M src/IceTargetLoweringX8664.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 11 chunks +56 lines, -111 lines 0 comments Download
M src/IceTargetLoweringX8664Traits.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +7 lines, -5 lines 0 comments Download
M src/IceTargetLoweringX86Base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +47 lines, -8 lines 0 comments Download
M src/IceTargetLoweringX86BaseImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 55 chunks +303 lines, -159 lines 0 comments Download
M unittest/AssemblerX8632/DataMov.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 +6 lines, -4 lines 0 comments Download
M unittest/AssemblerX8632/XmmArith.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 +4 lines, -4 lines 0 comments Download
M unittest/AssemblerX8664/DataMov.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 12 chunks +156 lines, -10 lines 0 comments Download
M unittest/AssemblerX8664/XmmArith.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 chunks +28 lines, -18 lines 0 comments Download

Messages

Total messages: 10 (2 generated)
John
Here it is, in all of its g[l]ory details, the initial TargetX8664. I already got ...
5 years, 4 months ago (2015-08-07 22:35:58 UTC) #3
Jim Stichnoth
Preliminary comments, I still need to look closely at IceTargetLoweringX86BaseImpl.h and a couple others. https://codereview.chromium.org/1273153002/diff/350001/Makefile.standalone ...
5 years, 4 months ago (2015-08-10 16:08:05 UTC) #4
Jim Stichnoth
https://codereview.chromium.org/1273153002/diff/350001/src/IceTargetLoweringX86BaseImpl.h File src/IceTargetLoweringX86BaseImpl.h (right): https://codereview.chromium.org/1273153002/diff/350001/src/IceTargetLoweringX86BaseImpl.h#newcode124 src/IceTargetLoweringX86BaseImpl.h:124: return PK_Icmp32; Probably need to rename PK_Icmp32 to something ...
5 years, 4 months ago (2015-08-10 19:39:20 UTC) #5
John
https://codereview.chromium.org/1273153002/diff/350001/Makefile.standalone File Makefile.standalone (right): https://codereview.chromium.org/1273153002/diff/350001/Makefile.standalone#newcode358 Makefile.standalone:358: -e x8632,sandbox,sse4.1,Om1 \ On 2015/08/10 16:08:04, stichnot wrote: > ...
5 years, 4 months ago (2015-08-10 20:41:17 UTC) #6
Jim Stichnoth
otherwise lgtm. Be sure to consult with Jan on the ELF relocation types, if you ...
5 years, 4 months ago (2015-08-11 16:01:37 UTC) #7
John
This CL is already pretty large. I want to avoid another painful merge (for me, ...
5 years, 4 months ago (2015-08-12 19:27:55 UTC) #8
Jim Stichnoth
https://codereview.chromium.org/1273153002/diff/280043/src/IceInstX86BaseImpl.h File src/IceInstX86BaseImpl.h (right): https://codereview.chromium.org/1273153002/diff/280043/src/IceInstX86BaseImpl.h#newcode1395 src/IceInstX86BaseImpl.h:1395: Str << "\tcdto"; On 2015/08/12 19:27:55, John wrote: > ...
5 years, 4 months ago (2015-08-12 19:37:47 UTC) #9
John
5 years, 4 months ago (2015-08-12 19:37:58 UTC) #10
Message was sent while issue was closed.
Committed patchset #22 (id:420001) manually as
1d235425dab1f3dd059973fc53f1b1d5879469e3 (tree was closed).

Powered by Google App Engine
This is Rietveld 408576698