Skip to content

Consider renaming the avx512gfni feature to just gfni #100752

@calebzulawski

Description

@calebzulawski
Member

While GFNI has (optional) AVX-512 instructions, there is at least one microarchitecture (Tremont) that has GFNI without AVX-512.

This is further confirmed by running:

rustc +nightly -Ctarget-feature=+avx512gfni --print cfg | grep target_feature
target_feature="avx512gfni"
target_feature="cmpxchg16b"
target_feature="fxsr"
target_feature="llvm14-builtins-abi"
target_feature="sse"
target_feature="sse2"
target_feature="sse3"
target_feature="ssse3"

Unlike other AVX-512 features, avx512f is not enabled, so I'm not sure this should be considered an AVX-512 feature.

Activity

calebzulawski

calebzulawski commented on Aug 19, 2022

@calebzulawski
MemberAuthor

The same goes for avx512vaes to vaes, which seems to be implemented on Zen 3 without AVX-512.

workingjubilee

workingjubilee commented on Aug 27, 2022

@workingjubilee
Member

This.. seems incorrect. The versions that don't build off and include AVX512 should be separate features, if I remember the ad copy around these.

calebzulawski

calebzulawski commented on Aug 27, 2022

@calebzulawski
MemberAuthor

I'm not sure if you mean my suggestion is incorrect, or the existing feature names, but rustc certainly isn't the first to be confused by the new convention used here: https://community.intel.com/t5/Intel-ISA-Extensions/GFNI-documentation-anomaly/td-p/1153193

workingjubilee

workingjubilee commented on Aug 28, 2022

@workingjubilee
Member

I am mostly expressing bafflement at the current situation.

SchrodingerZhu

SchrodingerZhu commented on Oct 20, 2022

@SchrodingerZhu

Please also see rust-lang/stdarch#1343

On AMD platform, VAES (I doubt VPCLMULQDQ) codegen would suffer from the similar issue mentioned here.

added a commit that references this issue on Nov 16, 2022
42c7043
added 2 commits that reference this issue on Nov 16, 2022
8af4462
56a28a6
added a commit that references this issue on Jan 6, 2023
142e974
added a commit that references this issue on May 15, 2023
ce5919f
added a commit that references this issue on Jun 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-target-featureArea: Enabling/disabling target features like AVX, Neon, etc.C-bugCategory: This is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @calebzulawski@SchrodingerZhu@workingjubilee

      Issue actions

        Consider renaming the `avx512gfni` feature to just `gfni` · Issue #100752 · rust-lang/rust