OpcodeDispatcher: optimize nzcv with asimd masked load/store

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig 2024-06-27 10:35:19 -04:00
parent 58e949e148
commit 196a0531e0

View File

@ -1347,6 +1347,17 @@ protected:
if (CTX->HostFeatures.SupportsAFP) {
return;
}
break;
case OP_VLOADVECTORMASKED:
case OP_VLOADVECTORGATHERMASKED:
case OP_VSTOREVECTORMASKED:
/* On ASIMD platforms, the emulation happens to preserve NZCV, unlike the
* more optimal SVE implementation that clobbers.
*/
if (!CTX->HostFeatures.SupportsSVE128 && !CTX->HostFeatures.SupportsSVE256) {
return;
}
break;
default: break;