diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 50844a66..c337c26a 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -4,7 +4,6 @@ on: [push, pull_request]
 env:
   RUSTDOCFLAGS: -Dwarnings
   RUSTFLAGS: -Dwarnings
-  RUST_COMPILER_RT_ROOT: ./compiler-rt
 
 jobs:
   test:
@@ -133,6 +132,8 @@ jobs:
       if: steps.cache-compiler-rt.outputs.cache-hit != 'true'
       run: ./ci/download-compiler-rt.sh
       shell: bash
+    - run: echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV"
+      shell: bash
 
     # Non-linux tests just use our raw script
     - run: ./ci/run.sh ${{ matrix.target }}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index d568f375..7d6a8df0 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -22,7 +22,7 @@ jobs:
       - name: Install Rust (rustup)
         run: rustup update nightly --no-self-update && rustup default nightly
       - name: Publish `libm` as part of builtins, rather than its own crate
-        run: rm libm/Cargo.toml
+        run: rm compiler-builtins/libm/Cargo.toml
       - name: Run release-plz
         uses: MarcoIeni/release-plz-action@v0.5
         env:
diff --git a/.gitmodules b/.gitmodules
index 726b1c5c..a0b0d021 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "libm"]
-	path = libm
+[submodule "compiler-builtins/libm"]
+	path = compiler-builtins/libm
 	url = https://github.com/rust-lang/libm.git
diff --git a/Cargo.toml b/Cargo.toml
index 60de2775..db4c45df 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,88 +1,16 @@
-[package]
-authors = ["Jorge Aparicio <japaricious@gmail.com>"]
-name = "compiler_builtins"
-version = "0.1.151"
-license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)"
-readme = "README.md"
-repository = "https://github.com/rust-lang/compiler-builtins"
-homepage = "https://github.com/rust-lang/compiler-builtins"
-documentation = "https://docs.rs/compiler_builtins"
-edition = "2021"
-description = """
-Compiler intrinsics used by the Rust compiler. Also available for other targets
-if necessary!
-"""
-include = [
-  '/Cargo.toml',
-  '/build.rs',
-  '/configure.rs',
-  '/src/*',
-  '/examples/*',
-  '/LICENSE.txt',
-  '/README.md',
-  '/compiler-rt/*',
-  '/libm/src/math/*',
-]
-links = 'compiler-rt'
-
-[lib]
-test = false
-
-[dependencies]
-# For more information on this dependency see
-# https://github.com/rust-lang/rust/tree/master/library/rustc-std-workspace-core
-core = { version = "1.0.0", optional = true, package = 'rustc-std-workspace-core' }
-
-[build-dependencies]
-cc = { optional = true, version = "1.0" }
-
-[dev-dependencies]
-panic-handler = { path = 'crates/panic-handler' }
-
-[features]
-default = ["compiler-builtins"]
-
-# Enable compilation of C code in compiler-rt, filling in some more optimized
-# implementations and also filling in unimplemented intrinsics
-c = ["cc"]
-
-# Workaround for the Cranelift codegen backend. Disables any implementations
-# which use inline assembly and fall back to pure Rust versions (if avalible).
-no-asm = []
-
-# Workaround for codegen backends which haven't yet implemented `f16` and
-# `f128` support. Disabled any intrinsics which use those types.
-no-f16-f128 = []
-
-# Flag this library as the unstable compiler-builtins lib
-compiler-builtins = []
-
-# Generate memory-related intrinsics like memcpy
-mem = []
-
-# Mangle all names so this can be linked in with other versions or other
-# compiler-rt implementations. Also used for testing
-mangled-names = []
-
-# Only used in the compiler's build system
-rustc-dep-of-std = ['compiler-builtins', 'core']
-
-# This makes certain traits and function specializations public that
-# are not normally public but are required by the `testcrate`
-public-test-deps = []
-
 [workspace]
-resolver = "2"
+resolver = "3"
 members = [
-    # Note that builtins-test-intrinsics cannot be  a default member because it
+    # Note that builtins-test-intrinsics cannot be a default member because it
     # needs the `mangled-names` feature disabled, while `testcrate` needs it
     # enabled.
     "builtins-test-intrinsics",
+    "compiler-builtins",
     "testcrate",
 ]
 
 default-members = [
-    ".",
+    "compiler-builtins",
     "testcrate",
 ]
 
diff --git a/builtins-test-intrinsics/Cargo.toml b/builtins-test-intrinsics/Cargo.toml
index 9b2e5bb7..9dbd3c32 100644
--- a/builtins-test-intrinsics/Cargo.toml
+++ b/builtins-test-intrinsics/Cargo.toml
@@ -5,7 +5,7 @@ edition = "2021"
 publish = false
 
 [dependencies]
-compiler_builtins = { path = "../", features = ["compiler-builtins"]}
+compiler_builtins = { path = "../compiler-builtins", features = ["compiler-builtins"]}
 panic-handler = { path = '../crates/panic-handler' }
 
 [features]
diff --git a/builtins-test-intrinsics/build.rs b/builtins-test-intrinsics/build.rs
index a38c6c1f..89b126ff 100644
--- a/builtins-test-intrinsics/build.rs
+++ b/builtins-test-intrinsics/build.rs
@@ -1,5 +1,5 @@
 mod builtins_configure {
-    include!("../configure.rs");
+    include!("../compiler-builtins/configure.rs");
 }
 
 fn main() {
diff --git a/ci/run-docker.sh b/ci/run-docker.sh
index 215ad71a..5e19cf4d 100755
--- a/ci/run-docker.sh
+++ b/ci/run-docker.sh
@@ -38,7 +38,7 @@ run() {
     fi
 
     if [ -d compiler-rt ]; then
-      export RUST_COMPILER_RT_ROOT=./compiler-rt
+      export RUST_COMPILER_RT_ROOT="/checkout/compiler-rt"
     fi
 
     if [ "${GITHUB_ACTIONS:-}" = "true" ]; then
diff --git a/ci/run.sh b/ci/run.sh
index 3625dde7..9abbf25a 100755
--- a/ci/run.sh
+++ b/ci/run.sh
@@ -23,7 +23,7 @@ fi
 if [ "${NO_STD:-}" = "1" ]; then
     echo "nothing to do for no_std"
 else
-    run="cargo test --manifest-path testcrate/Cargo.toml --no-fail-fast --target $target"
+    run="cargo test --package testcrate --no-fail-fast --target $target"
     $run
     $run --release
     $run --features c
@@ -38,7 +38,7 @@ fi
 
 if [ "${TEST_VERBATIM:-}" = "1" ]; then
     verb_path=$(cmd.exe //C echo \\\\?\\%cd%\\testcrate\\target2)
-    cargo build --manifest-path testcrate/Cargo.toml \
+    cargo build --package testcrate \
         --target "$target" --target-dir "$verb_path" --features c
 fi
 
diff --git a/compiler-builtins/Cargo.toml b/compiler-builtins/Cargo.toml
new file mode 100644
index 00000000..9797b5e6
--- /dev/null
+++ b/compiler-builtins/Cargo.toml
@@ -0,0 +1,72 @@
+[package]
+authors = ["Jorge Aparicio <japaricious@gmail.com>"]
+name = "compiler_builtins"
+version = "0.1.151"
+license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)"
+readme = "../README.md"
+repository = "https://github.com/rust-lang/compiler-builtins"
+homepage = "https://github.com/rust-lang/compiler-builtins"
+documentation = "https://docs.rs/compiler_builtins"
+edition = "2021"
+description = """
+Compiler intrinsics used by the Rust compiler. Also available for other targets
+if necessary!
+"""
+include = [
+  '/Cargo.toml',
+  '/build.rs',
+  '/configure.rs',
+  '/src/*',
+  '../LICENSE.txt',
+  '../README.md',
+  '../compiler-rt/*',
+  'libm/src/math/*',
+]
+links = 'compiler-rt'
+
+[lib]
+test = false
+bench = false
+
+[dependencies]
+# For more information on this dependency see
+# https://github.com/rust-lang/rust/tree/master/library/rustc-std-workspace-core
+core = { version = "1.0.0", optional = true, package = 'rustc-std-workspace-core' }
+
+[build-dependencies]
+cc = { optional = true, version = "1.0" }
+
+[dev-dependencies]
+panic-handler = { path = '../crates/panic-handler' }
+
+[features]
+default = ["compiler-builtins"]
+
+# Enable compilation of C code in compiler-rt, filling in some more optimized
+# implementations and also filling in unimplemented intrinsics
+c = ["cc"]
+
+# Workaround for the Cranelift codegen backend. Disables any implementations
+# which use inline assembly and fall back to pure Rust versions (if avalible).
+no-asm = []
+
+# Workaround for codegen backends which haven't yet implemented `f16` and
+# `f128` support. Disabled any intrinsics which use those types.
+no-f16-f128 = []
+
+# Flag this library as the unstable compiler-builtins lib
+compiler-builtins = []
+
+# Generate memory-related intrinsics like memcpy
+mem = []
+
+# Mangle all names so this can be linked in with other versions or other
+# compiler-rt implementations. Also used for testing
+mangled-names = []
+
+# Only used in the compiler's build system
+rustc-dep-of-std = ['compiler-builtins', 'core']
+
+# This makes certain traits and function specializations public that
+# are not normally public but are required by the `testcrate`
+public-test-deps = []
diff --git a/build.rs b/compiler-builtins/build.rs
similarity index 100%
rename from build.rs
rename to compiler-builtins/build.rs
index 3003d51a..fdfb61b1 100644
--- a/build.rs
+++ b/compiler-builtins/build.rs
@@ -1,7 +1,7 @@
-use std::{collections::BTreeMap, env, path::PathBuf, sync::atomic::Ordering};
-
 mod configure;
 
+use std::{collections::BTreeMap, env, path::PathBuf, sync::atomic::Ordering};
+
 use configure::{configure_aliases, configure_f16_f128, Target};
 
 fn main() {
diff --git a/configure.rs b/compiler-builtins/configure.rs
similarity index 100%
rename from configure.rs
rename to compiler-builtins/configure.rs
diff --git a/libm b/compiler-builtins/libm
similarity index 100%
rename from libm
rename to compiler-builtins/libm
diff --git a/src/aarch64.rs b/compiler-builtins/src/aarch64.rs
similarity index 100%
rename from src/aarch64.rs
rename to compiler-builtins/src/aarch64.rs
diff --git a/src/aarch64_linux.rs b/compiler-builtins/src/aarch64_linux.rs
similarity index 100%
rename from src/aarch64_linux.rs
rename to compiler-builtins/src/aarch64_linux.rs
diff --git a/src/arm.rs b/compiler-builtins/src/arm.rs
similarity index 100%
rename from src/arm.rs
rename to compiler-builtins/src/arm.rs
diff --git a/src/arm_linux.rs b/compiler-builtins/src/arm_linux.rs
similarity index 100%
rename from src/arm_linux.rs
rename to compiler-builtins/src/arm_linux.rs
diff --git a/src/float/add.rs b/compiler-builtins/src/float/add.rs
similarity index 100%
rename from src/float/add.rs
rename to compiler-builtins/src/float/add.rs
diff --git a/src/float/cmp.rs b/compiler-builtins/src/float/cmp.rs
similarity index 100%
rename from src/float/cmp.rs
rename to compiler-builtins/src/float/cmp.rs
diff --git a/src/float/conv.rs b/compiler-builtins/src/float/conv.rs
similarity index 100%
rename from src/float/conv.rs
rename to compiler-builtins/src/float/conv.rs
diff --git a/src/float/div.rs b/compiler-builtins/src/float/div.rs
similarity index 100%
rename from src/float/div.rs
rename to compiler-builtins/src/float/div.rs
diff --git a/src/float/extend.rs b/compiler-builtins/src/float/extend.rs
similarity index 100%
rename from src/float/extend.rs
rename to compiler-builtins/src/float/extend.rs
diff --git a/src/float/mod.rs b/compiler-builtins/src/float/mod.rs
similarity index 100%
rename from src/float/mod.rs
rename to compiler-builtins/src/float/mod.rs
diff --git a/src/float/mul.rs b/compiler-builtins/src/float/mul.rs
similarity index 100%
rename from src/float/mul.rs
rename to compiler-builtins/src/float/mul.rs
diff --git a/src/float/pow.rs b/compiler-builtins/src/float/pow.rs
similarity index 100%
rename from src/float/pow.rs
rename to compiler-builtins/src/float/pow.rs
diff --git a/src/float/sub.rs b/compiler-builtins/src/float/sub.rs
similarity index 100%
rename from src/float/sub.rs
rename to compiler-builtins/src/float/sub.rs
diff --git a/src/float/traits.rs b/compiler-builtins/src/float/traits.rs
similarity index 100%
rename from src/float/traits.rs
rename to compiler-builtins/src/float/traits.rs
diff --git a/src/float/trunc.rs b/compiler-builtins/src/float/trunc.rs
similarity index 100%
rename from src/float/trunc.rs
rename to compiler-builtins/src/float/trunc.rs
diff --git a/src/hexagon.rs b/compiler-builtins/src/hexagon.rs
similarity index 100%
rename from src/hexagon.rs
rename to compiler-builtins/src/hexagon.rs
diff --git a/src/hexagon/dfaddsub.s b/compiler-builtins/src/hexagon/dfaddsub.s
similarity index 100%
rename from src/hexagon/dfaddsub.s
rename to compiler-builtins/src/hexagon/dfaddsub.s
diff --git a/src/hexagon/dfdiv.s b/compiler-builtins/src/hexagon/dfdiv.s
similarity index 100%
rename from src/hexagon/dfdiv.s
rename to compiler-builtins/src/hexagon/dfdiv.s
diff --git a/src/hexagon/dffma.s b/compiler-builtins/src/hexagon/dffma.s
similarity index 100%
rename from src/hexagon/dffma.s
rename to compiler-builtins/src/hexagon/dffma.s
diff --git a/src/hexagon/dfminmax.s b/compiler-builtins/src/hexagon/dfminmax.s
similarity index 100%
rename from src/hexagon/dfminmax.s
rename to compiler-builtins/src/hexagon/dfminmax.s
diff --git a/src/hexagon/dfmul.s b/compiler-builtins/src/hexagon/dfmul.s
similarity index 100%
rename from src/hexagon/dfmul.s
rename to compiler-builtins/src/hexagon/dfmul.s
diff --git a/src/hexagon/dfsqrt.s b/compiler-builtins/src/hexagon/dfsqrt.s
similarity index 100%
rename from src/hexagon/dfsqrt.s
rename to compiler-builtins/src/hexagon/dfsqrt.s
diff --git a/src/hexagon/divdi3.s b/compiler-builtins/src/hexagon/divdi3.s
similarity index 100%
rename from src/hexagon/divdi3.s
rename to compiler-builtins/src/hexagon/divdi3.s
diff --git a/src/hexagon/divsi3.s b/compiler-builtins/src/hexagon/divsi3.s
similarity index 100%
rename from src/hexagon/divsi3.s
rename to compiler-builtins/src/hexagon/divsi3.s
diff --git a/src/hexagon/fastmath2_dlib_asm.s b/compiler-builtins/src/hexagon/fastmath2_dlib_asm.s
similarity index 100%
rename from src/hexagon/fastmath2_dlib_asm.s
rename to compiler-builtins/src/hexagon/fastmath2_dlib_asm.s
diff --git a/src/hexagon/fastmath2_ldlib_asm.s b/compiler-builtins/src/hexagon/fastmath2_ldlib_asm.s
similarity index 100%
rename from src/hexagon/fastmath2_ldlib_asm.s
rename to compiler-builtins/src/hexagon/fastmath2_ldlib_asm.s
diff --git a/src/hexagon/func_macro.s b/compiler-builtins/src/hexagon/func_macro.s
similarity index 100%
rename from src/hexagon/func_macro.s
rename to compiler-builtins/src/hexagon/func_macro.s
diff --git a/src/hexagon/memcpy_forward_vp4cp4n2.s b/compiler-builtins/src/hexagon/memcpy_forward_vp4cp4n2.s
similarity index 100%
rename from src/hexagon/memcpy_forward_vp4cp4n2.s
rename to compiler-builtins/src/hexagon/memcpy_forward_vp4cp4n2.s
diff --git a/src/hexagon/memcpy_likely_aligned.s b/compiler-builtins/src/hexagon/memcpy_likely_aligned.s
similarity index 100%
rename from src/hexagon/memcpy_likely_aligned.s
rename to compiler-builtins/src/hexagon/memcpy_likely_aligned.s
diff --git a/src/hexagon/moddi3.s b/compiler-builtins/src/hexagon/moddi3.s
similarity index 100%
rename from src/hexagon/moddi3.s
rename to compiler-builtins/src/hexagon/moddi3.s
diff --git a/src/hexagon/modsi3.s b/compiler-builtins/src/hexagon/modsi3.s
similarity index 100%
rename from src/hexagon/modsi3.s
rename to compiler-builtins/src/hexagon/modsi3.s
diff --git a/src/hexagon/sfdiv_opt.s b/compiler-builtins/src/hexagon/sfdiv_opt.s
similarity index 100%
rename from src/hexagon/sfdiv_opt.s
rename to compiler-builtins/src/hexagon/sfdiv_opt.s
diff --git a/src/hexagon/sfsqrt_opt.s b/compiler-builtins/src/hexagon/sfsqrt_opt.s
similarity index 100%
rename from src/hexagon/sfsqrt_opt.s
rename to compiler-builtins/src/hexagon/sfsqrt_opt.s
diff --git a/src/hexagon/udivdi3.s b/compiler-builtins/src/hexagon/udivdi3.s
similarity index 100%
rename from src/hexagon/udivdi3.s
rename to compiler-builtins/src/hexagon/udivdi3.s
diff --git a/src/hexagon/udivmoddi4.s b/compiler-builtins/src/hexagon/udivmoddi4.s
similarity index 100%
rename from src/hexagon/udivmoddi4.s
rename to compiler-builtins/src/hexagon/udivmoddi4.s
diff --git a/src/hexagon/udivmodsi4.s b/compiler-builtins/src/hexagon/udivmodsi4.s
similarity index 100%
rename from src/hexagon/udivmodsi4.s
rename to compiler-builtins/src/hexagon/udivmodsi4.s
diff --git a/src/hexagon/udivsi3.s b/compiler-builtins/src/hexagon/udivsi3.s
similarity index 100%
rename from src/hexagon/udivsi3.s
rename to compiler-builtins/src/hexagon/udivsi3.s
diff --git a/src/hexagon/umoddi3.s b/compiler-builtins/src/hexagon/umoddi3.s
similarity index 100%
rename from src/hexagon/umoddi3.s
rename to compiler-builtins/src/hexagon/umoddi3.s
diff --git a/src/hexagon/umodsi3.s b/compiler-builtins/src/hexagon/umodsi3.s
similarity index 100%
rename from src/hexagon/umodsi3.s
rename to compiler-builtins/src/hexagon/umodsi3.s
diff --git a/src/int/addsub.rs b/compiler-builtins/src/int/addsub.rs
similarity index 100%
rename from src/int/addsub.rs
rename to compiler-builtins/src/int/addsub.rs
diff --git a/src/int/big.rs b/compiler-builtins/src/int/big.rs
similarity index 100%
rename from src/int/big.rs
rename to compiler-builtins/src/int/big.rs
diff --git a/src/int/bswap.rs b/compiler-builtins/src/int/bswap.rs
similarity index 100%
rename from src/int/bswap.rs
rename to compiler-builtins/src/int/bswap.rs
diff --git a/src/int/leading_zeros.rs b/compiler-builtins/src/int/leading_zeros.rs
similarity index 100%
rename from src/int/leading_zeros.rs
rename to compiler-builtins/src/int/leading_zeros.rs
diff --git a/src/int/mod.rs b/compiler-builtins/src/int/mod.rs
similarity index 100%
rename from src/int/mod.rs
rename to compiler-builtins/src/int/mod.rs
diff --git a/src/int/mul.rs b/compiler-builtins/src/int/mul.rs
similarity index 100%
rename from src/int/mul.rs
rename to compiler-builtins/src/int/mul.rs
diff --git a/src/int/sdiv.rs b/compiler-builtins/src/int/sdiv.rs
similarity index 100%
rename from src/int/sdiv.rs
rename to compiler-builtins/src/int/sdiv.rs
diff --git a/src/int/shift.rs b/compiler-builtins/src/int/shift.rs
similarity index 100%
rename from src/int/shift.rs
rename to compiler-builtins/src/int/shift.rs
diff --git a/src/int/specialized_div_rem/asymmetric.rs b/compiler-builtins/src/int/specialized_div_rem/asymmetric.rs
similarity index 100%
rename from src/int/specialized_div_rem/asymmetric.rs
rename to compiler-builtins/src/int/specialized_div_rem/asymmetric.rs
diff --git a/src/int/specialized_div_rem/binary_long.rs b/compiler-builtins/src/int/specialized_div_rem/binary_long.rs
similarity index 100%
rename from src/int/specialized_div_rem/binary_long.rs
rename to compiler-builtins/src/int/specialized_div_rem/binary_long.rs
diff --git a/src/int/specialized_div_rem/delegate.rs b/compiler-builtins/src/int/specialized_div_rem/delegate.rs
similarity index 100%
rename from src/int/specialized_div_rem/delegate.rs
rename to compiler-builtins/src/int/specialized_div_rem/delegate.rs
diff --git a/src/int/specialized_div_rem/mod.rs b/compiler-builtins/src/int/specialized_div_rem/mod.rs
similarity index 100%
rename from src/int/specialized_div_rem/mod.rs
rename to compiler-builtins/src/int/specialized_div_rem/mod.rs
diff --git a/src/int/specialized_div_rem/norm_shift.rs b/compiler-builtins/src/int/specialized_div_rem/norm_shift.rs
similarity index 100%
rename from src/int/specialized_div_rem/norm_shift.rs
rename to compiler-builtins/src/int/specialized_div_rem/norm_shift.rs
diff --git a/src/int/specialized_div_rem/trifecta.rs b/compiler-builtins/src/int/specialized_div_rem/trifecta.rs
similarity index 100%
rename from src/int/specialized_div_rem/trifecta.rs
rename to compiler-builtins/src/int/specialized_div_rem/trifecta.rs
diff --git a/src/int/trailing_zeros.rs b/compiler-builtins/src/int/trailing_zeros.rs
similarity index 100%
rename from src/int/trailing_zeros.rs
rename to compiler-builtins/src/int/trailing_zeros.rs
diff --git a/src/int/traits.rs b/compiler-builtins/src/int/traits.rs
similarity index 100%
rename from src/int/traits.rs
rename to compiler-builtins/src/int/traits.rs
diff --git a/src/int/udiv.rs b/compiler-builtins/src/int/udiv.rs
similarity index 100%
rename from src/int/udiv.rs
rename to compiler-builtins/src/int/udiv.rs
diff --git a/src/lib.miri.rs b/compiler-builtins/src/lib.miri.rs
similarity index 100%
rename from src/lib.miri.rs
rename to compiler-builtins/src/lib.miri.rs
diff --git a/src/lib.rs b/compiler-builtins/src/lib.rs
similarity index 96%
rename from src/lib.rs
rename to compiler-builtins/src/lib.rs
index 6f5bd859..16de96b4 100644
--- a/src/lib.rs
+++ b/compiler-builtins/src/lib.rs
@@ -44,8 +44,7 @@ pub mod int;
 pub mod math;
 pub mod mem;
 
-// `libm` expects its `support` module to be available in the crate root. This config can be
-// cleaned up once `libm` is made always available.
+// `libm` expects its `support` module to be available in the crate root.
 use math::libm::support;
 
 #[cfg(target_arch = "arm")]
diff --git a/src/macros.rs b/compiler-builtins/src/macros.rs
similarity index 100%
rename from src/macros.rs
rename to compiler-builtins/src/macros.rs
diff --git a/src/math.rs b/compiler-builtins/src/math.rs
similarity index 100%
rename from src/math.rs
rename to compiler-builtins/src/math.rs
diff --git a/src/mem/impls.rs b/compiler-builtins/src/mem/impls.rs
similarity index 100%
rename from src/mem/impls.rs
rename to compiler-builtins/src/mem/impls.rs
diff --git a/src/mem/mod.rs b/compiler-builtins/src/mem/mod.rs
similarity index 100%
rename from src/mem/mod.rs
rename to compiler-builtins/src/mem/mod.rs
diff --git a/src/mem/x86_64.rs b/compiler-builtins/src/mem/x86_64.rs
similarity index 100%
rename from src/mem/x86_64.rs
rename to compiler-builtins/src/mem/x86_64.rs
diff --git a/src/probestack.rs b/compiler-builtins/src/probestack.rs
similarity index 100%
rename from src/probestack.rs
rename to compiler-builtins/src/probestack.rs
diff --git a/src/riscv.rs b/compiler-builtins/src/riscv.rs
similarity index 100%
rename from src/riscv.rs
rename to compiler-builtins/src/riscv.rs
diff --git a/src/x86.rs b/compiler-builtins/src/x86.rs
similarity index 100%
rename from src/x86.rs
rename to compiler-builtins/src/x86.rs
diff --git a/src/x86_64.rs b/compiler-builtins/src/x86_64.rs
similarity index 100%
rename from src/x86_64.rs
rename to compiler-builtins/src/x86_64.rs
diff --git a/crates/panic-handler/Cargo.toml b/crates/panic-handler/Cargo.toml
index 96b83eaa..a6764fc4 100644
--- a/crates/panic-handler/Cargo.toml
+++ b/crates/panic-handler/Cargo.toml
@@ -5,4 +5,8 @@ authors = ["Alex Crichton <alex@alexcrichton.com>"]
 edition = "2024"
 publish = false
 
+[lib]
+test = false
+bench = false
+
 [dependencies]
diff --git a/testcrate/Cargo.toml b/testcrate/Cargo.toml
index 71c461c5..be60e694 100644
--- a/testcrate/Cargo.toml
+++ b/testcrate/Cargo.toml
@@ -18,7 +18,7 @@ rand_xoshiro = "0.6"
 rustc_apfloat = "0.2.1"
 
 [dependencies.compiler_builtins]
-path = ".."
+path = "../compiler-builtins"
 default-features = false
 features = ["public-test-deps"]
 
diff --git a/testcrate/build.rs b/testcrate/build.rs
index 566b985d..e8f4eb4d 100644
--- a/testcrate/build.rs
+++ b/testcrate/build.rs
@@ -1,7 +1,7 @@
 use std::collections::HashSet;
 
 mod builtins_configure {
-    include!("../configure.rs");
+    include!("../compiler-builtins/configure.rs");
 }
 
 /// Features to enable