On Thu, Jun 10, 2010 at 09:48:24PM -0500, Quentin Neill wrote: > > On the other hand, I'm not going to argue that it's a lot of work.
Missing "not" ! > When you say "put assertions in the assembler output" I understood it > to mean "in the assembly source code output by the compiler", not "the > output produced by the assembler". Yes. > Does this qualify as a form of what you are suggesting? Because this > is exactly what is being proposed: > > .balign 8 # start window > insn op, op # 67 67 XX YY ZZ - padded with 2 prefixes to make 8 > insn2 op, op # AA BB CC > .padalign 8 # window boundary > insn4 op > . . . No, this is quite different. These are directives that tell the assembler to make changes. I'm talking about assertions, not directives. Something like this: mov r0, r1 @ [length 2] add ip, lr, ip @ [length 4] mov r0, r1 @ [length 4] <-- assembler error 'insn has length 2' GCC can output length information, but it is never exact, and it is not in a form recognized by the assembler. On x86, I have no idea how this would work. -- Daniel Jacobowitz CodeSourcery