Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Missing Extended Features #181

Merged
merged 6 commits into from
Jul 16, 2024
Merged

Implement Missing Extended Features #181

merged 6 commits into from
Jul 16, 2024

Conversation

mert-kurttutan
Copy link
Contributor

@mert-kurttutan mert-kurttutan commented Jul 15, 2024

  • Missing Extended features are those located at edx register and for leaf eax=7,ecx=0
  • Implemented new struct for features at edx register to contain those features.
  • Changed the display code by adding new features implemented.

Mert Kurttutan added 2 commits July 15, 2024 20:40
- Missing Extended features are those lcoated at edx register and for leaf eax=7,ecx=0
@mert-kurttutan
Copy link
Contributor Author

Also, removed unix conditional dependency on phf for testing since it also works on windows.

@mert-kurttutan
Copy link
Contributor Author

mert-kurttutan commented Jul 15, 2024

I am planning to add extended features for subleaf ecx=1 once we are done with this.
For this, I am thinking of adding new fields to ExtendedFeatures:

eax1,ebx1,ecx1,edx1

I am planning to not use ebx1 and ecx1. So, this means I should implement bitflag struct for eax1 and edx1, right?
So, in code they would look like below (without details such as bitflags! etc):

ExtendedFeaturesEax1 {
  ...
}
ExtendedFeaturesEdx1 {
  ...
}

@mert-kurttutan
Copy link
Contributor Author

mert-kurttutan commented Jul 15, 2024

Documentation ref (for explanation of bits and definition):

Cross-referenced them to make sure they agree with each other.

@mert-kurttutan
Copy link
Contributor Author

I left some of the bit fields unimplemented since I wont be using them.
If this is not OK, I can put other fields, as well.
But, AMD documentation is less complete than Intel's (e.g. avx512 related features)

src/display.rs Show resolved Hide resolved
src/tests/i5_3337u.rs Show resolved Hide resolved
src/lib.rs Outdated Show resolved Hide resolved
@gz
Copy link
Owner

gz commented Jul 15, 2024

looks good to me, thanks!

Copy link

codecov bot commented Jul 15, 2024

Codecov Report

Attention: Patch coverage is 7.69231% with 12 lines in your changes missing coverage. Please review.

Project coverage is 42.27%. Comparing base (4dbb8c3) to head (aa63731).
Report is 1 commits behind head on master.

Files Patch % Lines
src/lib.rs 7.69% 12 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #181      +/-   ##
==========================================
- Coverage   42.34%   42.27%   -0.08%     
==========================================
  Files           4        4              
  Lines        3809     3811       +2     
==========================================
- Hits         1613     1611       -2     
- Misses       2196     2200       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

mert-kurttutan and others added 3 commits July 16, 2024 01:04
- AVX512-vp2intersect bit and method
- AMX_TILE and AMX_INT8 method (bits were already implemented)
Add new test assertion for the new bits
@gz
Copy link
Owner

gz commented Jul 16, 2024

Thanks a lot for the PR!

@gz gz merged commit 098c407 into gz:master Jul 16, 2024
2 of 3 checks passed
@gz
Copy link
Owner

gz commented Jul 16, 2024

released as 11.1

@mert-kurttutan mert-kurttutan deleted the avx512 branch July 16, 2024 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants