Using the nop alias insn as the second one in an MLX bundle caused the assembler to segfault; the Intel assembler accepts this. Built and tested on ia64-unknown-linux-gnu. Jan gas/ 2005-01-24 Jan Beulich * config/tc-ia64.c (emit_one_bundle): Allow .x suffix when resolving dynamic insns. gas/testsuite/ 2005-01-24 Jan Beulich * gas/ia64/nop_x[.ds]: New. * gas/ia64/ia64.exp: Run new test. --- /home/jbeulich/src/binutils/mainline/2005-01-24.08.40/gas/config/tc-ia64.c 2005-01-18 10:43:33.000000000 +0100 +++ 2005-01-24.08.40/gas/config/tc-ia64.c 2005-01-24 11:26:38.029985594 +0100 @@ -6383,7 +6383,7 @@ emit_one_bundle () else as_fatal ("emit_one_bundle: unexpected dynamic op"); - sprintf (mnemonic, "%s.%c", idesc->name, "?imbf??"[insn_unit]); + sprintf (mnemonic, "%s.%c", idesc->name, "?imbfxx"[insn_unit]); ia64_free_opcode (idesc); md.slot[curr].idesc = idesc = ia64_find_opcode (mnemonic); #if 0 --- /home/jbeulich/src/binutils/mainline/2005-01-24.08.40/gas/testsuite/gas/ia64/ia64.exp 2004-07-02 08:26:34.000000000 +0200 +++ 2005-01-24.08.40/gas/testsuite/gas/ia64/ia64.exp 2005-01-24 11:26:38.031938719 +0100 @@ -24,6 +24,7 @@ if [istarget "ia64-*"] then { run_dump_test "opc-i" run_dump_test "opc-m" run_dump_test "opc-x" + run_dump_test "nop_x" run_list_test "dv-raw-err" "" run_list_test "dv-waw-err" "" --- /home/jbeulich/src/binutils/mainline/2005-01-24.08.40/gas/testsuite/gas/ia64/nop_x.d 1970-01-01 01:00:00.000000000 +0100 +++ 2005-01-24.08.40/gas/testsuite/gas/ia64/nop_x.d 2005-01-21 15:57:23.000000000 +0100 @@ -0,0 +1,11 @@ +# objdump: -d +# name: ia64 nop.x pseudo + +.*: +file format .* + +Disassembly of section \.text: + +0+0 <_start>: +[[:space:]]*[[:xdigit:]]*:[[:space:][:xdigit:]]+\[MLX][[:space:]]+nop.m 0x0 +[[:space:]]*[[:xdigit:]]*:[[:space:][:xdigit:]]+nop.x 0x0;; +[[:space:]]*[[:xdigit:]]*:[[:space:][:xdigit:]]+ --- /home/jbeulich/src/binutils/mainline/2005-01-24.08.40/gas/testsuite/gas/ia64/nop_x.s 1970-01-01 01:00:00.000000000 +0100 +++ 2005-01-24.08.40/gas/testsuite/gas/ia64/nop_x.s 2005-01-21 15:56:11.000000000 +0100 @@ -0,0 +1,5 @@ +_start: +{.mlx + nop 0 + nop 0 +} ;;