-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JIT ARM64-SVE: Add BS_1A, BT_1A #99458
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
@@ -376,6 +376,8 @@ enum insScalableOpts : unsigned | |||
|
|||
INS_SCALABLE_OPTS_WITH_VECTOR_PAIR, // Variants with {<Zn1>.<T>, <Zn2>.<T>} sve register pair (eg splice) | |||
|
|||
INS_SCALABLE_OPTS_IMM_BITMASK, // Variants with an immediate that is a bitmask |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may not be the cleanest interface, but if we want to avoid creating new insScalableOpts entries, we could have the caller to emitIns_*
always use INS_sve_dupm
, and then rely on emitIns
to use useMovDisasmForBitMask
to decide which disasm should be used. But that might be confusing from the caller's perspective if we cannot pass INS_sve_mov
.
Does the JIT print 32-bit immediates with upper case and 64-bit with lower case? It should at least be consistent. |
In emitter::emitDispImm, we always print 32-bit immediates with upper case. We only print 64-bit immediates with upper case if the immediate is an address offset; else, we print them with lower case. I'm not sure what the historic motivation for this is... |
Odd. I don't remember either. |
Would you like me to get rid of it, and always print immediates with upper case? |
IMO, everything in one case would be better (upper I guess is fine). But it certainly shouldn't be done for this PR, and it might not be worth putting time into it at all? |
Part of #94549.
cstool output:
JitDisasm output:
The JIT has some slightly different logic for printing immediates, but that seems to be the only difference between the outputs. cc @dotnet/arm64-contrib.