[release/9.0] Fix Issue #105820#106656
Conversation
…setsCF and ResetsOF are true
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
|
@TIHan Also, has this been approved by Tactics already? We're quite late in the process. |
|
I think his intention was to backport to RC2. I will talk to @TIHan to fix it.
|
|
Okay, apologies for the confusion. The title kept the |
jeffschwMSFT
left a comment
There was a problem hiding this comment.
approved. please get a code review. we can merge when ready.
|
@TIHan can you look at the failing CI and let me know when this is ready to merge? |
|
Yes, will do. |
|
Failures are unrelated to this change since all of them are arm related. There is a x86 installer build failure but is also unrelated. So it can be merged. |
|
/ba-g failures are unrelated to change |
Backport of #106655 to release/9.0
/cc @TIHan @github-actions[bot]
Customer Impact
Correctness issue with the HW intrinsic
Bmi1.BitFieldExtractwhen used as part of a conditional.test eax eaxwas not being emitted before thejlinstruction.Regression
Testing
Fuzzlyn found the fix in its code generation. This was missed due to no stress testing against these APIs; Fuzzlyn generates code in a variety of scenarios that are not common to end-users. No tests were added as it appeared to be hit commonly when Fuzzlyn was generating code.
Risk
Low, the fix was straightforward and simple. Additional checks such as
DoesWriteSignFlag(lastIns) && DoesWriteZeroFlag(lastIns) && DoesWriteParityFlag(lastIns)were used to help determine if the conditional flags were reset to zero or not.