Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
97f1e92
Move most things from std to core and alloc
the-ssd Dec 27, 2025
5301ec9
Port assembler_x64 to no_std
the-ssd Dec 27, 2025
d064db4
before adding prelude to each file
the-ssd Dec 27, 2025
f9b41c9
Most of the files now work with no_std
the-ssd Dec 27, 2025
a04639f
update isle to use alloc and core
the-ssd Dec 27, 2025
610034c
some instances shouldn't have been renamed, fixes cargo test
the-ssd Dec 27, 2025
8579235
add cranelift-assembler-x64 (no_std) to CI
the-ssd Dec 27, 2025
8a5fd53
fix codegen_meta, missed one spot with std::slice
the-ssd Dec 27, 2025
35ee796
automatically remove prelude with cargo fix
the-ssd Dec 27, 2025
3ca13bb
update isle changes
the-ssd Jan 1, 2026
cfb7501
update assembler changes
the-ssd Jan 1, 2026
339093c
update assembler changes
the-ssd Jan 1, 2026
4e3c723
use latest codegen changes + fix FxHash problem
the-ssd Jan 2, 2026
273766f
add imports
the-ssd Jan 2, 2026
97db7e2
fix floating issues with libm
the-ssd Jan 2, 2026
56f9077
remove unused import
the-ssd Jan 2, 2026
57f8847
temporarily remove OnceLock
the-ssd Jan 2, 2026
04a592c
add no_std arm support and add it into CI
the-ssd Jan 2, 2026
8a6fcfd
Move most things from std to core and alloc
the-ssd Dec 27, 2025
e1bf66f
Port assembler_x64 to no_std
the-ssd Dec 27, 2025
b027b8e
before adding prelude to each file
the-ssd Dec 27, 2025
cf49e28
Most of the files now work with no_std
the-ssd Dec 27, 2025
0e909fe
update isle to use alloc and core
the-ssd Dec 27, 2025
88fb4fd
some instances shouldn't have been renamed, fixes cargo test
the-ssd Dec 27, 2025
6d85585
add cranelift-assembler-x64 (no_std) to CI
the-ssd Dec 27, 2025
fe3194e
automatically remove prelude with cargo fix
the-ssd Dec 27, 2025
5624c4d
update isle changes
the-ssd Jan 1, 2026
5c37b88
update assembler changes
the-ssd Jan 1, 2026
775a0fc
update assembler changes
the-ssd Jan 1, 2026
d2eca41
use latest codegen changes + fix FxHash problem
the-ssd Jan 2, 2026
9e39486
add imports
the-ssd Jan 2, 2026
679d3ef
fix floating issues with libm
the-ssd Jan 2, 2026
dfe43e8
remove unused import
the-ssd Jan 2, 2026
74c85e8
temporarily remove OnceLock
the-ssd Jan 2, 2026
32c540e
add no_std arm support and add it into CI
the-ssd Jan 2, 2026
10e4f5d
Merge remote-tracking branch 'refs/remotes/origin/cranelift-nostd' in…
the-ssd Jan 3, 2026
bbbc105
Merge branch 'main' into cranelift-nostd
the-ssd Jan 5, 2026
c047e01
Move most things from std to core and alloc
the-ssd Dec 27, 2025
073a20c
Port assembler_x64 to no_std
the-ssd Dec 27, 2025
40a81e6
before adding prelude to each file
the-ssd Dec 27, 2025
8ebb4ef
Most of the files now work with no_std
the-ssd Dec 27, 2025
3ccba9f
update isle to use alloc and core
the-ssd Dec 27, 2025
6e2f58d
add cranelift-assembler-x64 (no_std) to CI
the-ssd Dec 27, 2025
3d88bcf
automatically remove prelude with cargo fix
the-ssd Dec 27, 2025
9163917
update isle changes
the-ssd Jan 1, 2026
d632990
update assembler changes
the-ssd Jan 1, 2026
135931b
use latest codegen changes + fix FxHash problem
the-ssd Jan 2, 2026
0d59194
add imports
the-ssd Jan 2, 2026
823dbba
fix floating issues with libm
the-ssd Jan 2, 2026
1d8bcd2
temporarily remove OnceLock
the-ssd Jan 2, 2026
9b01fa2
add no_std arm support and add it into CI
the-ssd Jan 2, 2026
723f889
revert Cargo.toml formating
the-ssd Jan 5, 2026
39c067d
remove prelude and fix cargo.toml
the-ssd Jan 5, 2026
8179d2c
cargo fmt
the-ssd Jan 5, 2026
48e2bd3
remove empty lines
the-ssd Jan 5, 2026
cea863f
bad renames
the-ssd Jan 5, 2026
4436bbf
macro_use only on no_std
the-ssd Jan 5, 2026
6eae76c
revert OnceLock change
the-ssd Jan 5, 2026
9b1b89d
only use stable libm features
the-ssd Jan 5, 2026
0f752f3
update regalloc2
the-ssd Jan 7, 2026
4355ea8
update comment
the-ssd Jan 7, 2026
e459e06
use continue instead
the-ssd Jan 7, 2026
bec5313
Update vets
alexcrichton Jan 7, 2026
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
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -550,6 +550,7 @@ jobs:
cargo check -p wasmtime --no-default-features --features runtime,component-model &&
cargo check -p wasmtime --no-default-features --features runtime,gc,component-model,async,debug-builtins &&
cargo check -p cranelift-control --no-default-features &&
cargo check -p cranelift-assembler-x64 --lib &&
cargo check -p pulley-interpreter --features encode,decode,disas,interp &&
cargo check -p wasmtime-wasi-io --no-default-features
# Use `cross` for illumos to have a C compiler/linker available.
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

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

111 changes: 84 additions & 27 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,10 @@ wasmtime-cranelift = { workspace = true, optional = true }
wasmtime-environ = { workspace = true }
wasmtime-explorer = { workspace = true, optional = true }
wasmtime-wast = { workspace = true, optional = true }
wasi-common = { workspace = true, default-features = true, features = ["exit", "tokio"], optional = true }
wasi-common = { workspace = true, default-features = true, features = [
"exit",
"tokio",
], optional = true }
wasmtime-wasi = { workspace = true, default-features = true, optional = true }
wasmtime-wasi-nn = { workspace = true, optional = true }
wasmtime-wasi-config = { workspace = true, optional = true }
Expand All @@ -59,7 +62,10 @@ wasmtime-wasi-keyvalue = { workspace = true, optional = true }
wasmtime-wasi-threads = { workspace = true, optional = true }
wasmtime-wasi-http = { workspace = true, optional = true }
wasmtime-unwinder = { workspace = true }
wasmtime-wizer = { workspace = true, optional = true, features = ['clap', 'wasmtime'] }
wasmtime-wizer = { workspace = true, optional = true, features = [
'clap',
'wasmtime',
] }
clap = { workspace = true }
clap_complete = { workspace = true, optional = true }
anyhow = { workspace = true, features = ['std'] }
Expand All @@ -84,7 +90,7 @@ smallvec = { workspace = true }
async-trait = { workspace = true }
bytes = { workspace = true }
cfg-if = { workspace = true }
tokio = { workspace = true, optional = true, features = [ "signal", "macros" ] }
tokio = { workspace = true, optional = true, features = ["signal", "macros"] }
hyper = { workspace = true, optional = true }
http = { workspace = true, optional = true }
http-body-util = { workspace = true, optional = true }
Expand All @@ -95,12 +101,25 @@ rustix = { workspace = true, features = ["mm", "process"] }

[dev-dependencies]
# depend again on wasmtime to activate its default features for tests
wasmtime = { workspace = true, features = ['default', 'winch', 'pulley', 'all-arch', 'call-hook', 'memory-protection-keys', 'component-model-async'] }
wasmtime = { workspace = true, features = [
'default',
'winch',
'pulley',
'all-arch',
'call-hook',
'memory-protection-keys',
'component-model-async',
] }
env_logger = { workspace = true }
log = { workspace = true }
filecheck = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt", "time", "macros", "rt-multi-thread"] }
tokio = { workspace = true, features = [
"rt",
"time",
"macros",
"rt-multi-thread",
] }
wast = { workspace = true }
criterion = { workspace = true }
num_cpus = "1.17.0"
Expand All @@ -110,7 +129,10 @@ wat = { workspace = true }
rayon = "1.5.0"
wasmtime-wast = { workspace = true, features = ['component-model'] }
wasmtime-component-util = { workspace = true }
wasmtime-test-util = { workspace = true, features = ['wasmtime-wast', 'component'] }
wasmtime-test-util = { workspace = true, features = [
'wasmtime-wast',
'component',
] }
bstr = "1.6.0"
libc = { workspace = true }
serde = { workspace = true }
Expand All @@ -120,7 +142,11 @@ test-programs-artifacts = { workspace = true }
bytesize = "2.0.1"
wit-component = { workspace = true }
cranelift-filetests = { workspace = true }
cranelift-codegen = { workspace = true, features = ["disas", "trace-log", "timing"] }
cranelift-codegen = { workspace = true, features = [
"disas",
"trace-log",
"timing",
] }
cranelift-reader = { workspace = true }
toml = { workspace = true }
similar = { workspace = true }
Expand Down Expand Up @@ -180,9 +206,7 @@ members = [
"fuzz",
"winch/codegen",
]
exclude = [
'docs/rust_wasi_markdown_parser',
]
exclude = ['docs/rust_wasi_markdown_parser']

[workspace.package]
version = "41.0.0"
Expand Down Expand Up @@ -265,8 +289,8 @@ wasmtime-wmemcheck = { path = "crates/wmemcheck", version = "=41.0.0", package =
wasmtime-c-api-macros = { path = "crates/c-api-macros", version = "=41.0.0", package = 'wasmtime-internal-c-api-macros' }
wasmtime-cache = { path = "crates/cache", version = "=41.0.0", package = 'wasmtime-internal-cache' }
wasmtime-cranelift = { path = "crates/cranelift", version = "=41.0.0", package = 'wasmtime-internal-cranelift' }
wasmtime-winch = { path = "crates/winch", version = "=41.0.0", package = 'wasmtime-internal-winch' }
wasmtime-explorer = { path = "crates/explorer", version = "=41.0.0", package = 'wasmtime-internal-explorer' }
wasmtime-winch = { path = "crates/winch", version = "=41.0.0", package = 'wasmtime-internal-winch' }
wasmtime-explorer = { path = "crates/explorer", version = "=41.0.0", package = 'wasmtime-internal-explorer' }
wasmtime-fiber = { path = "crates/fiber", version = "=41.0.0", package = 'wasmtime-internal-fiber' }
wasmtime-jit-debug = { path = "crates/jit-debug", version = "=41.0.0", package = 'wasmtime-internal-jit-debug' }
wasmtime-component-util = { path = "crates/component-util", version = "=41.0.0", package = 'wasmtime-internal-component-util' }
Expand All @@ -275,7 +299,7 @@ wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", ve
wasmtime-slab = { path = "crates/slab", version = "=41.0.0", package = 'wasmtime-internal-slab' }
wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=41.0.0", package = 'wasmtime-internal-jit-icache-coherence' }
wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=41.0.0", package = 'wasmtime-internal-wit-bindgen' }
wasmtime-math = { path = "crates/math", version = "=41.0.0", package = 'wasmtime-internal-math' }
wasmtime-math = { path = "crates/math", version = "=41.0.0", package = 'wasmtime-internal-math' }
wasmtime-unwinder = { path = "crates/unwinder", version = "=41.0.0", package = 'wasmtime-internal-unwinder' }
wasmtime-debugger = { path = "crates/debugger", version = "=41.0.0", package = "wasmtime-internal-debugger" }
wasmtime-wizer = { path = "crates/wizer", version = "41.0.0" }
Expand All @@ -291,7 +315,10 @@ pulley-macros = { path = 'pulley/macros', version = "=41.0.0" }

# Cranelift crates in this workspace
cranelift-assembler-x64 = { path = "cranelift/assembler-x64", version = "0.128.0" }
cranelift-codegen = { path = "cranelift/codegen", version = "0.128.0", default-features = false, features = ["std", "unwind"] }
cranelift-codegen = { path = "cranelift/codegen", version = "0.128.0", default-features = false, features = [
"std",
"unwind",
] }
cranelift-frontend = { path = "cranelift/frontend", version = "0.128.0" }
cranelift-entity = { path = "cranelift/entity", version = "0.128.0" }
cranelift-native = { path = "cranelift/native", version = "0.128.0" }
Expand All @@ -304,7 +331,7 @@ cranelift-jit = { path = "cranelift/jit", version = "0.128.0" }
cranelift-fuzzgen = { path = "cranelift/fuzzgen" }
cranelift-bforest = { path = "cranelift/bforest", version = "0.128.0" }
cranelift-bitset = { path = "cranelift/bitset", version = "0.128.0" }
cranelift-control = { path = "cranelift/control", version = "0.128.0" }
cranelift-control = { path = "cranelift/control", version = "0.128.0", default-features = false }
cranelift-srcgen = { path = "cranelift/srcgen", version = "0.128.0" }
cranelift = { path = "cranelift/umbrella", version = "0.128.0" }

Expand All @@ -322,7 +349,7 @@ component-async-tests = { path = "crates/misc/component-async-tests" }

# Bytecode Alliance maintained dependencies:
# ---------------------------
regalloc2 = "0.13.3"
regalloc2 = { version = "0.13.3", default-features = false }
wasip1 = { version = "1.0.0", default-features = false }

# cap-std family:
Expand All @@ -343,7 +370,9 @@ wit-bindgen = { version = "0.50.0", default-features = false }
wit-bindgen-rust-macro = { version = "0.50.0", default-features = false }

# wasm-tools family:
wasmparser = { version = "0.243.0", default-features = false, features = ['simd'] }
wasmparser = { version = "0.243.0", default-features = false, features = [
'simd',
] }
wat = "1.243.0"
wast = "243.0.0"
wasmprinter = "0.243.0"
Expand All @@ -362,14 +391,20 @@ arbitrary = "1.4.2"
backtrace = "0.3.75"
mutatis = "0.3.2"
cc = "1.2.41"
object = { version = "0.37.3", default-features = false, features = ['read_core', 'elf'] }
object = { version = "0.37.3", default-features = false, features = [
'read_core',
'elf',
] }
gimli = { version = "0.32.3", default-features = false, features = ['read'] }
addr2line = { version = "0.25.1", default-features = false }
anyhow = { version = "1.0.100", default-features = false }
windows-sys = "0.61.2"
env_logger = "0.11.5"
log = { version = "0.4.28", default-features = false }
clap = { version = "4.5.48", default-features = false, features = ["std", "derive"] }
clap = { version = "4.5.48", default-features = false, features = [
"std",
"derive",
] }
clap_complete = "4.5.58"
hashbrown = { version = "0.15", default-features = false }
capstone = "0.13.0"
Expand Down Expand Up @@ -398,7 +433,7 @@ tempfile = "3.23.0"
filecheck = "0.5.0"
libc = { version = "0.2.177", default-features = true }
file-per-thread-logger = "0.2.0"
tokio = { version = "1.48.0", features = [ "rt", "time" ] }
tokio = { version = "1.48.0", features = ["rt", "time"] }
hyper = "1.7.0"
http = "1.3.1"
http-body = "1.0.1"
Expand All @@ -409,12 +444,22 @@ indexmap = { version = "2.11.4", default-features = false }
syn = "2.0.106"
quote = "1.0.41"
proc-macro2 = "1.0.101"
test-log = { version = "0.2.18", default-features = false, features = ["trace"] }
tracing-subscriber = { version = "0.3.20", default-features = false, features = ['fmt', 'env-filter', 'ansi', 'tracing-log'] }
test-log = { version = "0.2.18", default-features = false, features = [
"trace",
] }
tracing-subscriber = { version = "0.3.20", default-features = false, features = [
'fmt',
'env-filter',
'ansi',
'tracing-log',
] }
url = "2.5.7"
postcard = { version = "1.1.3", default-features = false, features = ['alloc'] }
criterion = { version = "0.7.0", default-features = false, features = ["html_reports", "rayon"] }
rustc-hash = "2.1.1"
criterion = { version = "0.7.0", default-features = false, features = [
"html_reports",
"rayon",
] }
rustc-hash = { version = "2.1.1", default-features = false }
libtest-mimic = "0.8.1"
semver = { version = "1.0.27", default-features = false }
ittapi = "0.4.0"
Expand Down Expand Up @@ -529,10 +574,19 @@ disable-logging = ["log/max_level_off", "tracing/max_level_off"]
wasi-nn = ["dep:wasmtime-wasi-nn"]
wasi-tls = ["dep:wasmtime-wasi-tls"]
wasi-threads = ["dep:wasmtime-wasi-threads", "threads"]
wasi-http = ["component-model", "dep:wasmtime-wasi-http", "dep:tokio", "dep:hyper", "wasmtime-wasi-http/default-send-request"]
wasi-http = [
"component-model",
"dep:wasmtime-wasi-http",
"dep:tokio",
"dep:hyper",
"wasmtime-wasi-http/default-send-request",
]
wasi-config = ["dep:wasmtime-wasi-config"]
wasi-keyvalue = ["dep:wasmtime-wasi-keyvalue"]
pooling-allocator = ["wasmtime/pooling-allocator", "wasmtime-cli-flags/pooling-allocator"]
pooling-allocator = [
"wasmtime/pooling-allocator",
"wasmtime-cli-flags/pooling-allocator",
]
component-model = [
"wasmtime/component-model",
"wasmtime-wast?/component-model",
Expand All @@ -554,7 +608,10 @@ gc = ["wasmtime-cli-flags/gc", "wasmtime/gc"]
gc-drc = ["gc", "wasmtime/gc-drc", "wasmtime-cli-flags/gc-drc"]
gc-null = ["gc", "wasmtime/gc-null", "wasmtime-cli-flags/gc-null"]
pulley = ["wasmtime-cli-flags/pulley"]
stack-switching = ["wasmtime/stack-switching", "wasmtime-cli-flags/stack-switching"]
stack-switching = [
"wasmtime/stack-switching",
"wasmtime-cli-flags/stack-switching",
]
debug = ["wasmtime-cli-flags/debug", "wasmtime/debug"]

# CLI subcommands for the `wasmtime` executable. See `wasmtime $cmd --help`
Expand Down
6 changes: 3 additions & 3 deletions cranelift/assembler-x64/meta/src/dsl/format.rs
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ impl Default for Mutability {
}

impl core::fmt::Display for Mutability {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Self::Read => write!(f, "r"),
Self::ReadWrite => write!(f, "rw"),
Expand Down Expand Up @@ -576,7 +576,7 @@ impl Default for Extension {
}

impl core::fmt::Display for Extension {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Extension::None => write!(f, ""),
Extension::SignExtendQuad => write!(f, "sxq"),
Expand Down Expand Up @@ -627,7 +627,7 @@ impl Default for Eflags {
}

impl core::fmt::Display for Eflags {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Self::None => write!(f, ""),
Self::R => write!(f, "r"),
Expand Down
6 changes: 3 additions & 3 deletions cranelift/assembler-x64/meta/src/generate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,11 @@ fn match_variants(f: &mut Formatter, insts: &[dsl::Inst], invoke: &str) {
});
}

/// `impl std::fmt::Display for Inst { ... }`
/// `impl core::fmt::Display for Inst { ... }`
fn generate_inst_display_impl(f: &mut Formatter, insts: &[dsl::Inst]) {
f.add_block("impl<R: Registers> std::fmt::Display for Inst<R>", |f| {
f.add_block("impl<R: Registers> core::fmt::Display for Inst<R>", |f| {
f.add_block(
"fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result",
"fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result",
|f| {
match_variants(f, insts, "fmt(f)");
},
Expand Down
8 changes: 4 additions & 4 deletions cranelift/assembler-x64/meta/src/generate/inst.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,12 @@ impl dsl::Inst {
fmtln!(f, "#[must_use]");
fmtln!(f, "#[inline]");
f.add_block(
&format!("pub fn mnemonic(&self) -> std::borrow::Cow<'static, str>"),
&format!("pub fn mnemonic(&self) -> alloc::borrow::Cow<'static, str>"),
|f| {
if self.custom.contains(Mnemonic) {
fmtln!(f, "crate::custom::mnemonic::{}(self)", self.name());
} else {
fmtln!(f, "std::borrow::Cow::Borrowed(\"{}\")", self.mnemonic);
fmtln!(f, "alloc::borrow::Cow::Borrowed(\"{}\")", self.mnemonic);
}
},
);
Expand Down Expand Up @@ -265,10 +265,10 @@ impl dsl::Inst {
let impl_block = self.generate_impl_block_start();
let struct_name = self.struct_name_with_generic();
f.add_block(
&format!("{impl_block} std::fmt::Display for {struct_name}"),
&format!("{impl_block} core::fmt::Display for {struct_name}"),
|f| {
f.add_block(
"fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result",
"fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result",
|f| {
if self.custom.contains(Display) {
fmtln!(f, "crate::custom::display::{}(f, self)", self.name());
Expand Down
8 changes: 5 additions & 3 deletions cranelift/assembler-x64/src/api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
use crate::gpr;
use crate::xmm;
use crate::{Amode, DeferredTarget, GprMem, XmmMem};
use std::fmt;
use std::{num::NonZeroU8, vec::Vec};
use alloc::string::String;
use alloc::vec::Vec;
use core::fmt;
use core::num::NonZeroU8;

/// Describe how an instruction is emitted into a code buffer.
pub trait CodeSink {
Expand Down Expand Up @@ -113,7 +115,7 @@ pub trait Registers {
}

/// Describe how to interact with an external register type.
pub trait AsReg: Copy + Clone + std::fmt::Debug + PartialEq {
pub trait AsReg: Copy + Clone + core::fmt::Debug + PartialEq {
/// Create a register from its hardware encoding.
///
/// This is primarily useful for fuzzing, though it is also useful for
Expand Down
5 changes: 3 additions & 2 deletions cranelift/assembler-x64/src/custom.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ pub mod encode {
pub mod mnemonic {
use crate::inst;
use crate::{Registers, XmmMem};
use std::borrow::Cow;
use alloc::borrow::Cow;

macro_rules! lock {
($name:tt => $mnemonic:expr) => {
Expand Down Expand Up @@ -191,7 +191,8 @@ pub mod mnemonic {
pub mod display {
use crate::inst;
use crate::{Amode, Gpr, GprMem, Registers, Size};
use std::fmt;
use alloc::string::ToString;
use core::fmt;

pub fn callq_d(f: &mut fmt::Formatter, inst: &inst::callq_d) -> fmt::Result {
let inst::callq_d { imm32 } = inst;
Expand Down
2 changes: 1 addition & 1 deletion cranelift/assembler-x64/src/features.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
//! [`Inst::features`]: crate::inst::Inst::features

use crate::inst::for_each_feature;
use std::fmt;
use core::fmt;

// Helpfully generate `enum Feature`.
macro_rules! create_feature_enum {
Expand Down
1 change: 1 addition & 0 deletions cranelift/assembler-x64/src/fixed.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//! Operands with fixed register encodings.

use crate::{AsReg, Size};
use alloc::string::String;

/// A _fixed_ register.
///
Expand Down
Loading
Loading