This is an untested patch to fix the problem I pointed out with bundle handling. This works for your testcase. We get the user requested MIB template, and the hint ends up in an M slot. 2005-02-17 James E Wilson * config/tc-ia64.c (emit_one_bundle): Stop filling a bundle if we see an instruction that specifies a template. Index: tc-ia64.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-ia64.c,v retrieving revision 1.144 diff -p -p -r1.144 tc-ia64.c *** tc-ia64.c 17 Feb 2005 07:43:11 -0000 1.144 --- tc-ia64.c 17 Feb 2005 21:03:40 -0000 *************** emit_one_bundle () *** 6564,6569 **** --- 6564,6574 ---- break; /* Need to start a new bundle. */ } + /* If this instruction specifies a template, then it must be the first + instruction of a bundle. */ + if (curr != first && md.slot[curr].user_template >= 0) + break; + if (idesc->flags & IA64_OPCODE_SLOT2) { if (manual_bundling && !manual_bundling_off)