summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Sullivan <briansul@microsoft.com>2017-10-04 13:51:10 -0700
committerGitHub <noreply@github.com>2017-10-04 13:51:10 -0700
commit90fba838752eaec0ba2ff3dfc74985a8ad9b10de (patch)
treeccd450e43a2ce0750abec5791675a5a3903970c3 /src
parent238907f69662dda53dee0afd9848756a5bb790e9 (diff)
parent70165e7e97ec395c648835773d79653737e9029b (diff)
downloadcoreclr-90fba838752eaec0ba2ff3dfc74985a8ad9b10de.tar.gz
coreclr-90fba838752eaec0ba2ff3dfc74985a8ad9b10de.tar.bz2
coreclr-90fba838752eaec0ba2ff3dfc74985a8ad9b10de.zip
Merge pull request #14293 from sdmaclea/PR-ARM64-SMUL-DIS
[Arm64] Fix smul[lh] disassembly
Diffstat (limited to 'src')
-rw-r--r--src/jit/emitarm64.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/jit/emitarm64.cpp b/src/jit/emitarm64.cpp
index 158ef6db1a..44c2ff8d93 100644
--- a/src/jit/emitarm64.cpp
+++ b/src/jit/emitarm64.cpp
@@ -10824,6 +10824,15 @@ void emitter::emitDispIns(
emitDispReg(encodingZRtoSP(id->idReg1()), size, true);
emitDispReg(encodingZRtoSP(id->idReg2()), size, true);
}
+ else if ((ins == INS_smull) || (ins == INS_smulh))
+ {
+ // Rd is always 8 bytes
+ emitDispReg(id->idReg1(), EA_8BYTE, true);
+
+ // Rn, Rm effective size depends on instruction type
+ size = (ins == INS_smulh) ? EA_8BYTE : EA_4BYTE;
+ emitDispReg(id->idReg2(), size, true);
+ }
else
{
emitDispReg(id->idReg1(), size, true);