Length-Changing Prefixes problem with the x86 Backend

Agner Fog agner@agner.org
Fri Jul 25 13:57:00 GMT 2008


On Thu, 26 Jun 2008 Uros wrote:

 >Please also add a runtime test that can be used to analyze the problem.

I am a temporary guest on the gcc mailing list and I haven't seen your 
mail before. In case your problem hasn't been solved yet, I can inform 
you that I have a disassembler which puts comments into the disassembly 
file in case of length-changing prefixes and other sub-optimal or 
illegal instruction codes. Just compile with -c to get an object file 
and run it on the disassembler:
objconv -fasm yourfile.o yourfile.asm

It supports all x86 instruction sets up to SSE4.2 and SSE5 (but not AVX 
and FMA yet). It may be useful for testing other compiler features as 
well, such as support for new instruction sets.

Get it from www.agner.org/optimize/objconv.zip
This is a cross-platform multi-purpose tool. The assembly output is in 
MASM format, not AT&T. Use .intel_syntax noprefix in case you want to 
assemble the disassembly on GAS.



More information about the Gcc mailing list