Closed
Description
The libcore.rlib size for x86_64-unknown-linux-gnu target:
Toolchain | MB |
---|---|
nightly | 76 |
nightly* | 20 |
beta | 48 |
1.48 | 47 |
1.47 | 36 |
1.46 | 29 |
1.45 | 29 |
1.44 | 28 |
1.43 | 27 |
1.42 | 27 |
1.41 | 27 |
1.40 | 28 |
1.39 | 26 |
1.38 | 26 |
1.37 | 27 |
1.36 | 27 |
1.35 | 27 |
1.34 | 27 |
1.33 | 26 |
1.32 | 26 |
1.31 | 26 |
nightly* = libcore without stdarch
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs
index 5b19bf6b80f..cc4344a30aa 100644
--- a/library/core/src/lib.rs
+++ b/library/core/src/lib.rs
@@ -284,7 +284,6 @@
// `core_arch` depends on libcore, but the contents of this module are
// set up in such a way that directly pulling it here works such that the
// crate uses the this crate as its libcore.
-#[path = "../../stdarch/crates/core_arch/src/mod.rs"]
#[allow(
missing_docs,
missing_debug_implementations,
@@ -297,7 +296,93 @@
// merged. It currently cannot because bootstrap fails as the lint hasn't been defined yet.
#[allow(clashing_extern_declarations)]
#[unstable(feature = "stdsimd", issue = "48556")]
-mod core_arch;
+mod core_arch {
+ pub mod arch {
+ #[stable(feature = "a", since = "1.0.0")]
+ pub mod x86 {
+ #[allow(non_camel_case_types)]
+ #[stable(feature = "a", since = "1.0.0")]
+ #[derive(Copy, Clone)]
+ pub struct __m128i;
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_pause() {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_set1_epi8(_: i8) -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_or_si128(_: __m128i, _: __m128i) -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_movemask_epi8(_: __m128i) -> i32 {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_load_si128(_: *const __m128i) -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_loadu_si128(_: *const __m128i) -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_store_si128(_: *mut __m128i, _: __m128i) {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_cmpeq_epi8(_: __m128i, _: __m128i) -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_cmpgt_epi8(_: __m128i, _: __m128i) -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _mm_setzero_si128() -> __m128i {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub fn has_cpuid() -> bool {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub struct CpuidResult {
+ /// EAX register.
+ #[stable(feature = "simd_x86", since = "1.27.0")]
+ pub eax: u32,
+ /// EBX register.
+ #[stable(feature = "simd_x86", since = "1.27.0")]
+ pub ebx: u32,
+ /// ECX register.
+ #[stable(feature = "simd_x86", since = "1.27.0")]
+ pub ecx: u32,
+ /// EDX register.
+ #[stable(feature = "simd_x86", since = "1.27.0")]
+ pub edx: u32,
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn __cpuid(_: u32) -> CpuidResult {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn __cpuid_count(_: u32, _: u32) -> CpuidResult {
+ todo!();
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub unsafe fn _xgetbv(_: u32) -> u64 {
+ todo!();
+ }
+ }
+ #[stable(feature = "a", since = "1.0.0")]
+ pub mod x86_64 {
+ #[stable(feature = "a", since = "1.0.0")]
+ pub use super::x86::*;
+ }
+ }
+}
#[stable(feature = "simd_arch", since = "1.27.0")]
pub use core_arch::arch;
Metadata
Metadata
Assignees
Labels
Area: SIMD (Single Instruction Multiple Data)Category: This is a bug.Issue: Problems and improvements with respect to binary size of generated code.Relevant to the compiler team, which will review and decide on the PR/issue.Relevant to the library API team, which will review and decide on the PR/issue.