rust/tests/ui/check-cfg
Folkert de Vries 69c7e1d02f
add more s390x target features
The target feature names are, right now, based on the llvm target feature names. These mostly line up well with the names of [Facility Inidications](https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf#page=301) names. The linux kernel uses shorter, more cryptic names. (e.g. "vector" is `vx`). We can deviate from the llvm names, but the CPU vendor (IBM) does not appear to use e.g. `vx` for what they call `vector`.

There are a number of implied target features between the vector facilities (based on the [Facility Inidications](https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf#page=301) table):

- 129 The vector facility for z/Architecture is installed in the z/Architecture architectural mode.
- 134 The vector packed decimal facility is installed in the z/Architecture architectural mode. When bit 134 is one, bit 129 is also one.
- 135 The vector enhancements facility 1 is installed in the z/Architecture architectural mode. When bit 135 is one, bit 129 is also one.
- 148 The vector-enhancements facility 2 is installed in the z/Architecture architectural mode. When bit 148 is one, bits 129 and 135 are also one.
- 152 The vector-packed-decimal-enhancement facility 1 is installed in the z/Architecture architectural mode. When bit 152 is one, bits 129 and 134 are also one.
- 165 The neural-network-processing-assist facility is installed in the z/Architecture architectural mode. When bit 165 is one, bit 129 is also one.
- 192 The vector-packed-decimal-enhancement facility 2 is installed in the z/Architecture architectural mode. When bit 192 is one, bits 129, 134, and 152 are also one.

And then there are a number of facilities without any implied target features

- 45 The distinct-operands, fast-BCR-serialization, high-word, and population-count facilities, the interlocked-access facility 1, and the load/store-oncondition facility 1 are installed in the z/Architecture architectural mode.
- 73 The transactional-execution facility is installed in the z/Architecture architectural mode. Bit 49 is one when bit 73 is one.
- 133 The guarded-storage facility is installed in the z/Architecture architectural mode.
- 150 The enhanced-sort facility is installed in the z/Architecture architectural mode.
- 151 The DEFLATE-conversion facility is installed in the z/Architecture architectural mode.

The added target features are those that have ISA implications, can be queried at runtime, and have LLVM support. LLVM [defines more target features](d49a2d2bc9/llvm/lib/Target/SystemZ/SystemZFeatures.td), but I'm not sure those are useful. They can always be added later, and can already be set globally using `-Ctarget-feature`.
2025-02-21 00:26:30 +01:00
..
auxiliary Add Cargo revision and values to the check-cfg macro test 2024-11-19 22:48:36 +01:00
allow-at-crate-level.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
allow-macro-cfg.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
allow-same-level.rs Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
allow-same-level.stderr Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
allow-top-level.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
allow-upper-level.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
and-more-diagnostic.rs Remove the `-test` suffix from normalize directives 2024-12-27 19:58:16 +11:00
and-more-diagnostic.stderr Add specific test for check-cfg "and X more" diagnostic 2024-12-01 20:51:52 +01:00
cargo-build-script.rs Don't suggest adding the unexpected cfgs the build-script it-self 2024-05-22 20:58:57 +02:00
cargo-build-script.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
cargo-feature.none.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
cargo-feature.rs Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
cargo-feature.some.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
cfg-value-for-cfg-name-duplicate.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
cfg-value-for-cfg-name-duplicate.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
cfg-value-for-cfg-name-multiple.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
cfg-value-for-cfg-name-multiple.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
cfg-value-for-cfg-name.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
cfg-value-for-cfg-name.stderr Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
compact-names.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
compact-names.stderr Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
compact-values.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
compact-values.stderr Convert unexpected_cfg_{name,value} to struct diagnostics 2024-05-21 20:16:39 +00:00
concat-values.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
concat-values.stderr Convert unexpected_cfg_{name,value} to struct diagnostics 2024-05-21 20:16:39 +00:00
diagnotics.cargo.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
diagnotics.rs Fix quote escaping inside check-cfg value 2024-05-20 11:44:09 +02:00
diagnotics.rustc.stderr Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
empty-values.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
empty-values.stderr compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
exhaustive-names-values.empty_cfg.stderr Add amdgpu target 2025-01-31 09:59:41 +01:00
exhaustive-names-values.feature.stderr Auto merge of #134740 - Flakebi:amdgpu-target, r=workingjubilee 2025-02-10 05:18:36 +00:00
exhaustive-names-values.full.stderr Auto merge of #134740 - Flakebi:amdgpu-target, r=workingjubilee 2025-02-10 05:18:36 +00:00
exhaustive-names-values.rs Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
exhaustive-names.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
exhaustive-names.stderr Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
exhaustive-values.empty_cfg.stderr Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
exhaustive-values.rs Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
exhaustive-values.without_names.stderr Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
invalid-arguments.any_values.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.anything_else.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.boolean.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.cfg_none.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.giberich.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.ident_in_values_1.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.ident_in_values_2.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.mixed_any.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.mixed_values_any.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.multiple_any.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.multiple_values.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.multiple_values_any.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.none_not_empty.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.not_empty_any.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.not_empty_values_any.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.rs Reject leading unsafe in `cfg!(...)` and `--check-cfg`. 2024-09-30 12:15:08 +02:00
invalid-arguments.string_for_name_1.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.string_for_name_2.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.unknown_meta_item_1.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.unknown_meta_item_2.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.unknown_meta_item_3.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.unsafe_attr.stderr Reject leading unsafe in `cfg!(...)` and `--check-cfg`. 2024-09-30 12:15:08 +02:00
invalid-arguments.unterminated.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.values_any_before_ident.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
invalid-arguments.values_any_missing_values.stderr Improve check-cfg CLI errors with more structured diagnostics 2024-05-06 07:44:41 +02:00
mix.rs Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
mix.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
my-awesome-platform.json Honor current target when checking conditional compilation values 2023-03-09 21:55:00 +01:00
no-expected-values.empty.stderr Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
no-expected-values.mixed.stderr Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
no-expected-values.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
no-expected-values.simple.stderr Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
order-independant.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
order-independant.values_after.stderr compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
order-independant.values_before.stderr compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
raw-keywords.edition2015.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
raw-keywords.edition2021.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
raw-keywords.rs Improve handling of raw-idents in check-cfg 2024-09-18 11:07:32 +02:00
report-in-external-macros.cargo.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
report-in-external-macros.rs Add Cargo revision and values to the check-cfg macro test 2024-11-19 22:48:36 +01:00
report-in-external-macros.rustc.stderr Update test output to include check_contracts cfg 2025-02-03 13:55:15 -08:00
stmt-no-ice.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
stmt-no-ice.stderr Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
target_feature.rs Remove the `-test` suffix from normalize directives 2024-12-27 19:58:16 +11:00
target_feature.stderr add more s390x target features 2025-02-21 00:26:30 +01:00
unexpected-cfg-name.rs Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
unexpected-cfg-name.stderr Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
unexpected-cfg-value.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
unexpected-cfg-value.stderr Convert unexpected_cfg_{name,value} to struct diagnostics 2024-05-21 20:16:39 +00:00
unknown-values.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
values-none.concat_1.stderr Fix test problems discovered by the revision check 2024-05-09 14:47:09 +10:00
values-none.concat_2.stderr Fix test problems discovered by the revision check 2024-05-09 14:47:09 +10:00
values-none.explicit.stderr compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
values-none.implicit.stderr compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
values-none.rs Fix test problems discovered by the revision check 2024-05-09 14:47:09 +10:00
values-none.simple.stderr Fix test problems discovered by the revision check 2024-05-09 14:47:09 +10:00
values-target-json.rs compiletest: add no-auto-check-cfg directive 2024-05-04 11:30:38 +02:00
well-known-names.rs Filter well known names from check-cfg diagnostics 2025-01-25 12:27:33 +01:00
well-known-names.stderr Show diff suggestion format on verbose replacement 2025-02-10 20:21:39 +00:00
well-known-values.rs Make the `test` cfg a "userspace" check-cfg 2025-01-02 16:49:55 +01:00
well-known-values.stderr Add cygwin target. 2025-02-10 17:13:15 +08:00