Uh oh!
There was an error while loading. Please reload this page.
Enable assert in perfScoreUnhandledInstruction - #810
Conversation
briansull
commented
Dec 12, 2019
Related to PR #751 |
briansull
commented
Dec 12, 2019
@tannergooding@BruceForstall @dotnet/jit-contrib PTAL |
BruceForstall
left a comment
There was a problem hiding this comment.
Can you make sure to run outerloop and outerloop stress jobs? I wouldn't want this to cause new asserts to show up, especially as we aren't actively monitoring all the various pipelines yet.
briansull
commented
Dec 12, 2019
I am leaving this PR open as I will be leaving for a vacation shortly. |
613b11c to
ccaf3b2Comparebriansull
commented
Jan 17, 2020
@BruceForstall I have refreshed this |
briansull
commented
Jan 17, 2020
/AZP list |
briansull
commented
Jan 17, 2020
/AZP runtime-coreclr outerloop |
|
Command 'runtime-coreclr' is not supported by Azure Pipelines. Supported commands
See additional documentation. |
briansull
commented
Jan 17, 2020
/AZP run runtime-coreclr outerloop |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
briansull
commented
Jan 17, 2020
There are some unhanded instructions for ARM64:
|
tannergooding
commented
Jan 17, 2020
@tannergooding I believe you wanted to ping me instead of Egor Bogatov. I added these instructions and I can update their perf score |
tannergooding
commented
Jan 17, 2020
Yes, sorry. Auto-complete chose the wrong person 😄 |
CarolEidt
left a comment
There was a problem hiding this comment.
My preference would be not to enable this assert. I'm not in favor of asserts that appear only when dumping or disassembling.
There was a problem hiding this comment.
I think that this should be deleted, and the above comment should be clarified to say that it asserts in a DEBUG build, and returns a default latency of 1 cycle otherwise.
briansull
commented
Jan 17, 2020
People working on Arm64 instructions could just add this change-set to their enlistment to catch the missing instructions. I put this PR up because Tanner wanted to have this enabled. |
briansull
commented
Jan 17, 2020
The outer loop testing printed these two missing instructions on Arm64: |
stephentoub
commented
Feb 17, 2020
@briansull, what's the status of this PR? Should it be closed? Merged? Thanks. |
briansull
commented
Feb 18, 2020
@tannergooding do you still want this assert enabled by default? |
tannergooding
commented
Feb 18, 2020
It would be good to get it enabled as otherwise it just represents an increasing debt we are building for ARM64 (as we continue to add more instructions for the HWIntrinsic work, etc). At this point, it should just require adding the instructions which aren't already covered, correct? Perhaps that is something that @echesakovMSFT, @CarolEidt, or myself can pick up and finish. |
CarolEidt
commented
Feb 18, 2020
I'm still of the opinion that we don't want asserts that fire only when dumping or disassembling. I would be OK with a |
tannergooding
commented
Feb 18, 2020
IIRC, this fell out of #751 (comment) and only wasn't enabled due to parallel work from the HWIntrinsics. |
CarolEidt
commented
Feb 18, 2020
My concern is with enabling an assert that only fires when I generate a dump or disassembly. This is not something we regularly do across all of our tests, and so it doesn't really add coverage. It is more likely to trip up someone who is working on something unrelated. These asserts should either be optionally enabled in dumps and disassembly (and included in some kind of stress testing) or the perfscore should always be computed for each instruction in checked builds, even when not disassembling. |
The PerfScore is always computed for Checked and Debug builds, not only when you generate a dump or disassembly. |
CarolEidt
commented
Feb 19, 2020
I see - I'd missed that - in that case, I'm OK with this. Sorry for the confusion. |
…uild when it encounters an unhanded instruction
263ad42 to
54c1e90Comparebriansull
commented
Feb 28, 2020
Rebased to a recent master: @echesakovMSFT PTAL |
echesakov
commented
Feb 28, 2020
@briansull I will add perf info later today - or if you want you can do this |
briansull
commented
Feb 28, 2020
@echesakovMSFT |
…addlv, umaxv, uminv
briansull
commented
Feb 28, 2020
Added PerfScore values for IF_DV_2T: // addv, saddlv, smaxv, sminv, uaddlv, umaxv, uminv |
echesakov
commented
Feb 28, 2020
Thank you, @briansull ! |
…fcvtn, fcvtn2, fabd
briansull
commented
Feb 28, 2020
Add PerfScore support for fcmeq, fcmge, fcmgt, fcmle, fcmlt, fcvtl2, fcvtn, fcvtn2, fabd |
tannergooding
commented
Mar 3, 2020
Thanks @briansull! |
perfScoreUnhandledInstruction will now assert in a DEBUG or CHECKED build when it encounters an unhanded instruction