The `needs-asm-support` directive checks whether the host architecture supports inline assembly, not the target architecture. For tests that explicitly specify a target via `--target` in their compile-flags, this directive is incorrect and unnecessary. These tests are cross-compiling to specific targets (like x86_64, arm, aarch64, riscv, etc.) that are already known to have stable asm support. The directive was causing these tests to be incorrectly skipped on hosts that don't support asm, even though the target does. Tests with explicit targets should rely on `needs-llvm-components` to ensure the appropriate backend is available, rather than checking host asm support. Improve documentation about `needs-asm-support` directive.
8 lines
246 B
Text
8 lines
246 B
Text
error: cannot use register `r8`: high registers (r8+) can only be used as clobbers in Thumb-1 code
|
|
--> $DIR/issue-99071.rs:15:18
|
|
|
|
|
LL | asm!("", in("r8") 0);
|
|
| ^^^^^^^^^^
|
|
|
|
error: aborting due to 1 previous error
|
|
|