avo
avo copied to clipboard
Add patch file for BITALG and VL for VPOPCNTDQ
See discussion here: https://github.com/mmcloughlin/avo/pull/199#issuecomment-969320610
Codecov Report
Merging #234 (1702e56) into master (ead3fb5) will increase coverage by
0.00%
. The diff coverage is80.00%
.
@@ Coverage Diff @@
## master #234 +/- ##
=======================================
Coverage 75.92% 75.92%
=======================================
Files 65 65
Lines 20694 20719 +25
=======================================
+ Hits 15711 15731 +20
- Misses 4901 4906 +5
Partials 82 82
Flag | Coverage Δ | |
---|---|---|
integration | 11.91% <0.00%> (-0.02%) |
:arrow_down: |
stress | ? |
|
unittests | 73.01% <80.00%> (+<0.01%) |
:arrow_up: |
Flags with carried forward coverage won't be shown. Click here to find out more.
Impacted Files | Coverage Δ | |
---|---|---|
x86/zoptab.go | 92.42% <ø> (ø) |
|
build/zinstructions.go | 67.65% <66.66%> (-0.01%) |
:arrow_down: |
x86/zctors.go | 100.00% <100.00%> (ø) |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
@mmcloughlin This PR is also now fully merged with upstream and ready to go. I took inspiration from the GFNI PR #344 and backed-out the editing of x86_64.xml
I agree, that was a real pain and unsustainable. Using the "opcodesextra" mechanism worked out great.
There was only one wrinkle with this approach, but in the end it seems fine: because x86_64.xml
already defines VPOPCNTD
and VPOPCNTQ
, but without the 128/256 bit "VL" operand forms, the only way to get this to work was to completely redefine and override those two instructions here. There didn't seem to be a clean existing way to "upgrade" the forms already present in x86_64.xml
with the VL forms.
Landed in #361 #362.
Thanks!