rust/tests/ui/target-feature
Tsukasa OI eec6cfb8da rustc_target: RISC-V "Zfinx" is incompatible with {ILP32,LP64}[FD] ABIs
Because RISC-V Calling Conventions note that:

> This means code targeting the Zfinx extension always uses the ILP32,
> ILP32E or LP64 integer calling-convention only ABIs as there is no
> dedicated hardware floating-point register file.

{ILP32,LP64}[FD] ABIs with hardware floating-point calling conventions
are incompatible with the "Zfinx" extension.

This commit adds "zfinx" to the incompatible feature list to those ABIs
and tests whether trying to add "zdinx" (that is analogous to "zfinx" but
in double-precision) on a LP64D ABI configuration results in an error
(it also tests extension implication; "Zdinx" requires "Zfinx" extension).

Link: RISC-V psABI specification version 1.0
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/releases/tag/v1.0>
2025-05-01 05:05:47 +00:00
..
auxiliary mark some target features as 'forbidden' so they cannot be (un)set 2024-11-04 22:56:47 +01:00
aarch64-neon-works.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
allowed-softfloat-target-feature-attribute.rs forbid toggling x87 and fpregs on hard-float targets 2024-12-11 22:18:50 +01:00
allowed-softfloat-target-feature-flag-disable.rs compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
allowed-softfloat-target-feature-flag-disable.stderr forbid toggling x87 and fpregs on hard-float targets 2024-12-11 22:18:50 +01:00
asm-implied-features-issue-128125.rs Add test to ensure implied target features work with asm, and fix failing tests 2024-08-07 00:41:48 -04:00
feature-hierarchy.rs remove support for rustc_intrinsic_must_be_overridden from the compiler 2025-02-24 07:53:59 +01:00
forbidden-hardfloat-target-feature-attribute-e-d.rs rustc_target: RISC-V "Zfinx" is incompatible with {ILP32,LP64}[FD] ABIs 2025-05-01 05:05:47 +00:00
forbidden-hardfloat-target-feature-attribute-e-d.stderr rustc_target: RISC-V "Zfinx" is incompatible with {ILP32,LP64}[FD] ABIs 2025-05-01 05:05:47 +00:00
forbidden-hardfloat-target-feature-attribute-f-zfinx.rs rustc_target: RISC-V "Zfinx" is incompatible with {ILP32,LP64}[FD] ABIs 2025-05-01 05:05:47 +00:00
forbidden-hardfloat-target-feature-attribute-f-zfinx.stderr rustc_target: RISC-V "Zfinx" is incompatible with {ILP32,LP64}[FD] ABIs 2025-05-01 05:05:47 +00:00
forbidden-hardfloat-target-feature-flag-disable-implied.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
forbidden-hardfloat-target-feature-flag-disable-implied.stderr ABI-required target features: warn when they are missing in base CPU (rather than silently enabling them) 2025-01-28 04:40:42 +01:00
forbidden-hardfloat-target-feature-flag-disable-neon.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
forbidden-hardfloat-target-feature-flag-disable-neon.stderr ABI-required target features: warn when they are missing in base CPU (rather than silently enabling them) 2025-01-28 04:40:42 +01:00
forbidden-hardfloat-target-feature-flag-disable.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
forbidden-hardfloat-target-feature-flag-disable.stderr ABI-required target features: warn when they are missing in base CPU (rather than silently enabling them) 2025-01-28 04:40:42 +01:00
forbidden-hardfloat-target-feature-flag.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
forbidden-hardfloat-target-feature-flag.stderr add rustc_abi to control ABI decisions LLVM does not have flags for, and use it for x86 softfloat 2025-02-03 16:56:51 +01:00
forbidden-target-feature-attribute.rs add rustc_abi to control ABI decisions LLVM does not have flags for, and use it for x86 softfloat 2025-02-03 16:56:51 +01:00
forbidden-target-feature-attribute.stderr add rustc_abi to control ABI decisions LLVM does not have flags for, and use it for x86 softfloat 2025-02-03 16:56:51 +01:00
forbidden-target-feature-cfg.rs add rustc_abi to control ABI decisions LLVM does not have flags for, and use it for x86 softfloat 2025-02-03 16:56:51 +01:00
forbidden-target-feature-flag-disable.rs UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
forbidden-target-feature-flag-disable.stderr add rustc_abi to control ABI decisions LLVM does not have flags for, and use it for x86 softfloat 2025-02-03 16:56:51 +01:00
forbidden-target-feature-flag.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
forbidden-target-feature-flag.stderr add rustc_abi to control ABI decisions LLVM does not have flags for, and use it for x86 softfloat 2025-02-03 16:56:51 +01:00
gate.rs Add m68k_target_feature 2024-12-15 15:26:50 +09:00
gate.stderr Add m68k_target_feature 2024-12-15 15:26:50 +09:00
implicit-features-cli.rs Implement a implicit target feature mechanism 2024-08-04 08:44:23 +02:00
implicit-features.rs Implement a implicit target feature mechanism 2024-08-04 08:44:23 +02:00
implied-features.rs Stabilize target_feature_11 2025-01-27 23:44:47 +01:00
invalid-attribute.rs Stabilize target_feature_11 2025-01-27 23:44:47 +01:00
invalid-attribute.stderr Emit unused_attributes for #[inline] on exported functions 2025-03-24 20:07:35 +01:00
missing-plusminus-2.rs compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
missing-plusminus-2.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
missing-plusminus.rs compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
missing-plusminus.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-llvm-leaks.rs tests: use minicore more 2025-02-24 09:26:54 +00:00
rust-specific-name-no-warnings.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
similar-feature-suggestion.rs compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
similar-feature-suggestion.stderr warn when using an unstable feature with -Ctarget-feature 2023-11-06 09:44:00 +01:00
target-cpu-lacks-required-target-feature.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
target-cpu-lacks-required-target-feature.stderr add x86-sse2 (32bit) ABI that requires SSE2 target feature 2025-02-14 19:47:52 +01:00
tied-features-cli.one.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
tied-features-cli.rs compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
tied-features-cli.three.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
tied-features-cli.two.stderr Show number in error message even for one error 2023-11-24 19:15:52 +01:00
tied-features-no-implication-1.paca.stderr tests: add test for #105111 2024-09-24 15:42:15 +01:00
tied-features-no-implication-1.pacg.stderr tests: add test for #105111 2024-09-24 15:42:15 +01:00
tied-features-no-implication-1.rs UI tests: migrate remaining compile time error-patterns to line annotations 2025-04-13 21:48:53 +03:00
tied-features-no-implication.paca.stderr tests: add test for #105111 2024-09-24 15:42:15 +01:00
tied-features-no-implication.pacg.stderr compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
tied-features-no-implication.rs compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
tied-features.rs tests: use minicore more 2025-02-24 09:26:54 +00:00
tied-features.stderr tests: use minicore more 2025-02-24 09:26:54 +00:00
unstable-feature.rs compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
unstable-feature.stderr warn when using an unstable feature with -Ctarget-feature 2023-11-06 09:44:00 +01:00
using-target-feature-unstable.rs mark some target features as 'forbidden' so they cannot be (un)set 2024-11-04 22:56:47 +01:00
wasm-disable-simd.rs Add a regression test for #131031 2024-10-30 22:34:45 +08:00
wasm-relaxed-simd.rs Implement a implicit target feature mechanism 2024-08-04 08:44:23 +02:00
wasm-safe.rs [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00