-
Notifications
You must be signed in to change notification settings - Fork 178
Open
Description
I found this problem first in daniestevez/galileo-osnma#23, but the following self-contained example replicates the problem: https://github.com/daniestevez/riscv/tree/debug-mul-build/riscv-rt/test-build
When this example is built with cargo build --release
, I get the following:
Compiling proc-macro2 v1.0.78
Compiling unicode-ident v1.0.12
Compiling syn v1.0.109
Compiling riscv-rt v0.12.0 (/home/daniel/riscv/riscv-rt)
Compiling riscv v0.11.0 (/home/daniel/riscv/riscv)
Compiling embedded-hal v1.0.0
Compiling critical-section v1.1.2
Compiling test-build v0.1.0 (/home/daniel/riscv/riscv-rt/test-build)
Compiling panic-halt v0.2.0
Compiling quote v1.0.35
Compiling riscv-rt-macros v0.2.1 (/home/daniel/riscv/riscv-rt/macros)
error: instruction requires the following: 'M' (Integer Multiplication and Division) or 'Zmmul' (Integer Multiplication)
mul t0, t2, t0
^
error: instruction requires the following: 'M' (Integer Multiplication and Division) or 'Zmmul' (Integer Multiplication)
mul t0, t2, t0
^
Finished release [optimized] target(s) in 2.11s
Despite the error, an executable is produced.
If I build without --release
instead, I get:
Compiling proc-macro2 v1.0.78
Compiling unicode-ident v1.0.12
Compiling syn v1.0.109
Compiling riscv-rt v0.12.0 (/home/daniel/riscv/riscv-rt)
Compiling riscv v0.11.0 (/home/daniel/riscv/riscv)
Compiling critical-section v1.1.2
Compiling embedded-hal v1.0.0
Compiling test-build v0.1.0 (/home/daniel/riscv/riscv-rt/test-build)
Compiling panic-halt v0.2.0
Compiling quote v1.0.35
Compiling riscv-rt-macros v0.2.1 (/home/daniel/riscv/riscv-rt/macros)
Finished dev [unoptimized + debuginfo] target(s) in 2.51s
Metadata
Metadata
Assignees
Labels
No labels