Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i128 and u128 support #37900

Closed
wants to merge 36 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0d3cac9
Such large. Very 128. Much bits.
nagisa Aug 23, 2016
331432d
Tests for the 128 bit integers
nagisa Aug 23, 2016
002f9a1
Feature gate the 128 bit types
nagisa Aug 23, 2016
660c12c
Cleanup FIXMEs
nagisa Aug 23, 2016
2f0457d
Fix LEB128 to work with the stage1
nagisa Aug 24, 2016
1e203f5
Tidy
nagisa Aug 24, 2016
3a31265
Makefiles support for rustc_i128 crate
nagisa Aug 24, 2016
c6b5c91
Wrapping<i128> and attempt at LLVM 3.7 compat
nagisa Aug 24, 2016
275b4d5
Fix parse-fail and compile-fail tests
nagisa Aug 24, 2016
ad743e0
impl Step for iu128
nagisa Aug 24, 2016
aa5adb7
Add a way to retrieve constant value in 128 bits
nagisa Aug 25, 2016
eb44eb3
Implement emit_iu128 for json serialiser
nagisa Aug 27, 2016
af9fe30
Fix i128 alignment calculation
nagisa Sep 27, 2016
792fecf
Fix rebase fallout
nagisa Sep 27, 2016
ac942a2
WIP intrinsics
nagisa Oct 2, 2016
236da89
Fix rebase fallout
est31 Nov 20, 2016
231485f
Use LLVMRustConstInt128Get on stage1 too
est31 Nov 20, 2016
36269e3
Compilation fixes
est31 Nov 20, 2016
42b6518
Make rustdoc aware of the primitive i128 type
est31 Nov 21, 2016
231cf20
Fix intrinsics and expand tests
est31 Nov 24, 2016
a8fb346
intrinsics : uabs and iabs
est31 Nov 25, 2016
f609586
Fix warning on 64 bit
est31 Nov 26, 2016
e08e34b
Move from RUSTC_CRATES to TARGET_CRATES
est31 Nov 27, 2016
bcf7f93
40 -> 39, as ceil(log10(2^128)) == 39
est31 Nov 28, 2016
73e142e
UGLY hack around an ICE bc of stage0
est31 Dec 1, 2016
249f7b6
Always use Rust based intrinsics on Windows
est31 Dec 4, 2016
1f2ed68
Try to fix some things
est31 Dec 5, 2016
1edc590
libcompiler_builtins: don't codegen dead code call to eh_personality
est31 Dec 7, 2016
8958e7c
Remove unimplemented() function
est31 Dec 7, 2016
c004f88
Port to wrapping_* and unchecked_* operations
est31 Dec 8, 2016
93c3584
Tidy
est31 Dec 8, 2016
2175095
Windows x64 ABI requires i128 params to be passed as reference
est31 Dec 10, 2016
93ee9f5
intrinsics: try to return everything via {u,i}128ret to match LLVM
est31 Dec 12, 2016
dc57f52
Fix another windows ABI mistake
est31 Dec 14, 2016
a66b8b0
Tidy
est31 Dec 14, 2016
53925c4
Fix rebase fallout
est31 Dec 14, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 15 additions & 10 deletions mk/crates.mk
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ TARGET_CRATES := libc std term \
compiler_builtins core alloc \
std_unicode rustc_bitflags \
alloc_system alloc_jemalloc \
panic_abort panic_unwind unwind
panic_abort panic_unwind unwind rustc_i128
RUSTC_CRATES := rustc rustc_typeck rustc_mir rustc_borrowck rustc_resolve rustc_driver \
rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \
rustc_data_structures rustc_platform_intrinsics rustc_errors \
Expand Down Expand Up @@ -92,23 +92,26 @@ DEPS_getopts := std
DEPS_graphviz := std
DEPS_log := std
DEPS_num := std
DEPS_serialize := std log
DEPS_serialize := std log rustc_i128
DEPS_term := std
DEPS_test := std getopts term native:rust_test_helpers
DEPS_rustc_i128 = std

DEPS_syntax := std term serialize log arena libc rustc_bitflags std_unicode rustc_errors syntax_pos rustc_data_structures
DEPS_syntax := std term serialize log arena libc rustc_bitflags std_unicode rustc_errors \
syntax_pos rustc_data_structures rustc_i128
DEPS_syntax_ext := syntax syntax_pos rustc_errors fmt_macros proc_macro
DEPS_proc_macro := syntax syntax_pos rustc_plugin log
DEPS_syntax_pos := serialize
DEPS_proc_macro_tokens := syntax syntax_pos log
DEPS_proc_macro_plugin := syntax syntax_pos rustc_plugin log proc_macro_tokens

DEPS_rustc_const_math := std syntax log serialize
DEPS_rustc_const_math := std syntax log serialize rustc_i128
DEPS_rustc_const_eval := rustc_const_math rustc syntax log serialize \
rustc_back graphviz syntax_pos
rustc_back graphviz syntax_pos rustc_i128

DEPS_rustc := syntax fmt_macros flate arena serialize getopts \
log graphviz rustc_llvm rustc_back rustc_data_structures\
rustc_const_math syntax_pos rustc_errors
rustc_const_math syntax_pos rustc_errors rustc_i128
DEPS_rustc_back := std syntax flate log libc
DEPS_rustc_borrowck := rustc log graphviz syntax syntax_pos rustc_errors rustc_mir
DEPS_rustc_data_structures := std log serialize libc
Expand All @@ -119,19 +122,20 @@ DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_bo
rustc_passes rustc_save_analysis rustc_const_eval \
rustc_incremental syntax_pos rustc_errors proc_macro rustc_data_structures
DEPS_rustc_errors := log libc serialize syntax_pos
DEPS_rustc_lint := rustc log syntax syntax_pos rustc_const_eval
DEPS_rustc_lint := rustc log syntax syntax_pos rustc_const_eval rustc_i128
DEPS_rustc_llvm := native:rustllvm libc std rustc_bitflags
DEPS_proc_macro := std syntax
DEPS_rustc_metadata := rustc syntax syntax_pos rustc_errors rustc_const_math \
proc_macro syntax_ext
proc_macro syntax_ext rustc_i128
DEPS_rustc_passes := syntax syntax_pos rustc core rustc_const_eval rustc_errors
DEPS_rustc_mir := rustc syntax syntax_pos rustc_const_math rustc_const_eval rustc_bitflags
DEPS_rustc_mir := rustc syntax syntax_pos rustc_const_math rustc_const_eval rustc_bitflags \
rustc_i128
DEPS_rustc_resolve := arena rustc log syntax syntax_pos rustc_errors
DEPS_rustc_platform_intrinsics := std
DEPS_rustc_plugin := rustc rustc_metadata syntax syntax_pos rustc_errors
DEPS_rustc_privacy := rustc log syntax syntax_pos
DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back \
log syntax serialize rustc_llvm rustc_platform_intrinsics \
log syntax serialize rustc_llvm rustc_platform_intrinsics rustc_i128 \
rustc_const_math rustc_const_eval rustc_incremental rustc_errors syntax_pos
DEPS_rustc_incremental := rustc syntax_pos serialize rustc_data_structures
DEPS_rustc_save_analysis := rustc log syntax syntax_pos serialize
Expand Down Expand Up @@ -159,6 +163,7 @@ ONLY_RLIB_alloc := 1
ONLY_RLIB_rand := 1
ONLY_RLIB_collections := 1
ONLY_RLIB_std_unicode := 1
ONLY_RLIB_rustc_i128 := 1
ONLY_RLIB_rustc_bitflags := 1
ONLY_RLIB_alloc_system := 1
ONLY_RLIB_alloc_jemalloc := 1
Expand Down
14 changes: 14 additions & 0 deletions src/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading