On Thu, Jun 10, 2010 at 5:40 PM, Daniel Jacobowitz <d...@codesourcery.com> wrote: > On Thu, Jun 10, 2010 at 02:03:03PM -0600, Jeff Law wrote: >> That adds quite a bit of complication to the compiler though -- >> getting the instruction lengths right (and thus proper packing & >> alignment) can be extremely difficult. I did some experiments with >> this on a target with *fixed* instruction lengths a while back and >> even though the port tried hard to get lengths right, it would >> routinely miss something. Ultimately I decided that it forcing the >> compiler to know instruction lengths with a very high degree of >> accuracy wasn't a sane thing to do. > > FWIW, my opinion (and I think Jakub has expressed a similar opinion > and/or tool in the past) is that there is a sane way to do this: put > assertions in the assembler output and have the assembler validate > them. > > On the other hand, I'm not going to argue that it's a lot of work. > -- > Daniel Jacobowitz > CodeSourcery
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". 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 . . . -- Quentin Neill