runtime icon indicating copy to clipboard operation
runtime copied to clipboard

ARM64-SVE: Delay free all ops within conditional select

Open a74nh opened this issue 1 year ago • 1 comments

Fixes #106864

Embedded ops may be prefixed by a MOVPFRX instruction. If so, then the embedded op can't use the reuse a source register as the destination. Ensure all the inputs are marked as delay free.

This solves the case where an embedded mask operation is passed two identical inputs.

a74nh avatar Aug 27 '24 16:08 a74nh

@dotnet/arm64-contrib @kunalspathak

a74nh avatar Aug 27 '24 16:08 a74nh

/backport to release/9.0-rc1

kunalspathak avatar Sep 05 '24 23:09 kunalspathak

Started backporting to release/9.0-rc1: https://github.com/dotnet/runtime/actions/runs/10729636992

github-actions[bot] avatar Sep 05 '24 23:09 github-actions[bot]

/backport to release/9.0

kunalspathak avatar Sep 05 '24 23:09 kunalspathak

Started backporting to release/9.0: https://github.com/dotnet/runtime/actions/runs/10729651396

github-actions[bot] avatar Sep 05 '24 23:09 github-actions[bot]

@kunalspathak backporting to release/9.0 failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: ARM64-SVE: Delay free all ops within conditional select
Applying: Fix comment
Applying: Add test header
Applying: don't delay prefUseOpNum
Applying: Fix FMA
Applying: Add assert checks for delay free
Applying: Merge embedded op build code
Applying: fix formatting
Applying: simplify assert
Applying: simplify FMA code
Applying: Add tests for 106867
Applying: ARM64-SVE: Allow op inside conditionselect to be non HWintrinsic
Applying: Add Sve.IsSupported to tests
Applying: Add Sve.IsSupported to test
Applying: fix formatting
error: sha1 information is lacking or useless (src/coreclr/jit/lowerarmarch.cpp).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0015 fix formatting
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

github-actions[bot] avatar Sep 05 '24 23:09 github-actions[bot]

@kunalspathak an error occurred while backporting to release/9.0, please check the run log for details!

Error: git am failed, most likely due to a merge conflict.

github-actions[bot] avatar Sep 05 '24 23:09 github-actions[bot]