[LLVMdev] X86InstrInfo::GetInstSizeInBytes() calculating incorrect size
Butterworth, John W.
jbutterworth at mitre.org
Tue Nov 24 12:33:55 PST 2009
I'm noticing the X86InstrInfo::GetInstSizeInBytes() function returning
incorrect sizes for some instructions. I looked through the llvm-dev
archives and noticed that a patch was submitted once in April 2009 for
instruction length calculation on amd-64. I'm using Intel Core 2 Duo (64
bit) so maybe there is a similar issue? I don't have another computer I can
test this on to see if that's it though. If this turns out to be a bug,
rather than some misuse/misinterpretation of the function on my part I can
resubmit it via that channel.
The instructions I've noticed this occurring for are:
MOV32mi, LEA32r, MOV32mr, and MOV32rm
The length of LEA32r is calculated correctly some of the time. Same for
MOV32mr and MOV32rm. The length of MOV32mi seems to always be wrong.
An example breakdown of emitted Machine Instructions - the machine
instructions are those outputted when I pass the -debug option to lli.exe
(formatted by me for readability, left to right):
8d 9c 24 30 0a 00 00 LEA32r
calculated length: 7 ok
8d 6c 24 28 LEA32r
calculated length: 7 incorrect
8b 86 24 0a 39 00 MOV32rm calculated
length: 6 ok
8b 44 24 10 MOV32rm
calculated length: 7 incorrect
89 84 24 34 14 00 00 MOV32mr calculated
length: 7 ok
89 2c 24 MOV32mr
calculated length: 7 incorrect
c7 44 24 08 08 0a 00 00 MOV32mi calculated
length: 11 incorrect
c7 04 24 20 00 38 00 MOV32mi calculated
length: 11 incorrect
If more information is needed let me know and I'll send it.
Thank you in advance and best regards,
John Butterworth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091124/fa20cf9c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3522 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091124/fa20cf9c/attachment.bin>
More information about the llvm-dev
mailing list