diff options
author | Nick Clifton <nickc@redhat.com> | 2013-03-27 11:43:37 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2013-03-27 11:43:37 +0000 |
commit | 51dcdd4d3edac8b0c94257096337cd94b4dc7c3f (patch) | |
tree | d1b958a9e07e8cc2d9af0e308e1c3058508a841f /gas | |
parent | 6f820c855cf3f858cea1d9284de4e925889476bf (diff) | |
download | gdb-51dcdd4d3edac8b0c94257096337cd94b4dc7c3f.zip gdb-51dcdd4d3edac8b0c94257096337cd94b4dc7c3f.tar.gz gdb-51dcdd4d3edac8b0c94257096337cd94b4dc7c3f.tar.bz2 |
PR binutils/15068
* tic6x-dis.c: Add support for displaying 16-bit insns.
* tic6xc-insn-formats.h (FLD): Add use of bitfield array.
Add 16-bit opcodes.
* tic6xc-opcode-table.h: Add 16-bit insns.
* tic6x.h: Add support for 16-bit insns.
* config/tc-tic6x.c (tic6x_try_encode): Add use of bitfields array.
* gas/tic6x/insns16-d-unit.s: New test.
* gas/tic6x/insns16-d-unit.d: Expected disassembly.
* gas/tic6x/insns16-ddec.s: New test.
* gas/tic6x/insns16-ddec.d: Expected disassembly.
* gas/tic6x/insns16-dinc.s: New test.
* gas/tic6x/insns16-dinc.d: Expected disassembly.
* gas/tic6x/insns16-dind.s: New test.
* gas/tic6x/insns16-dind.d: Expected disassembly.
* gas/tic6x/insns16-doff4.s: New test.
* gas/tic6x/insns16-doff4.d: Expected disassembly.
* gas/tic6x/insns16-l-unit.s: New test.
* gas/tic6x/insns16-l-unit.d: Expected disassembly.
* gas/tic6x/insns16-lsd-unit.s: New test.
* gas/tic6x/insns16-lsd-unit.d: Expected disassembly.
* gas/tic6x/insns16-m-unit.s: New test.
* gas/tic6x/insns16-m-unit.d: Expected disassembly.
* gas/tic6x/insns16-s-unit-pcrel.s: New test.
* gas/tic6x/insns16-s-unit-pcrel.d: Expected disassembly.
* gas/tic6x/insns16-s-unit: New test.
* gas/tic6x/insns16-s-unit.d: Expected disassembly.
Diffstat (limited to 'gas')
23 files changed, 2827 insertions, 24 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index bb9367d..d57121c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2013-03-27 Alexis Deruelle <alexis.deruelle@gmail.com> + + PR binutils/15068 + * config/tc-tic6x.c (tic6x_try_encode): Add use of bitfields array. + 2013-03-26 Nick Clifton <nickc@redhat.com> PR gas/15295 diff --git a/gas/config/tc-tic6x.c b/gas/config/tc-tic6x.c index 7e11d0b..81f33f4 100644 --- a/gas/config/tc-tic6x.c +++ b/gas/config/tc-tic6x.c @@ -2484,7 +2484,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, fldd = tic6x_field_from_fmt (fmt, opct->fixed_fields[fld].field_id); if (fldd == NULL) abort (); - opcode_value |= opct->fixed_fields[fld].min_val << fldd->low_pos; + opcode_value |= opct->fixed_fields[fld].min_val << fldd->bitfields[0].low_pos; } } @@ -2515,7 +2515,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, ucexp = operands[opno].value.exp; unsigned_constant: if (ucexp.X_add_number < 0 - || ucexp.X_add_number >= (1 << fldd->width)) + || ucexp.X_add_number >= (1 << fldd->bitfields[0].width)) { if (print_errors) as_bad (_("operand %u of '%.*s' out of range"), opno + 1, @@ -2534,7 +2534,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, value = 0; /* Opcode table should not permit non-constants without a known relocation for them. */ - if (fldd->low_pos != 7 || fldd->width != 16) + if (fldd->bitfields[0].low_pos != 7 || fldd->bitfields[0].width != 16) abort (); *fix_needed = TRUE; *fix_exp = &operands[opno].value.exp; @@ -2545,8 +2545,8 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, } sign_value = SEXT (operands[opno].value.exp.X_add_number); signed_constant: - if (sign_value < -(1 << (fldd->width - 1)) - || (sign_value >= (1 << (fldd->width - 1)))) + if (sign_value < -(1 << (fldd->bitfields[0].width - 1)) + || (sign_value >= (1 << (fldd->bitfields[0].width - 1)))) { if (print_errors) as_bad (_("operand %u of '%.*s' out of range"), opno + 1, @@ -2554,8 +2554,8 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, *ok = FALSE; return 0; } - value = sign_value + (1 << (fldd->width - 1)); - value ^= (1 << (fldd->width - 1)); + value = sign_value + (1 << (fldd->bitfields[0].width - 1)); + value ^= (1 << (fldd->bitfields[0].width - 1)); break; case tic6x_coding_ucst_minus_one: @@ -2564,7 +2564,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, if (operands[opno].value.exp.X_op != O_constant) abort (); if (operands[opno].value.exp.X_add_number <= 0 - || operands[opno].value.exp.X_add_number > (1 << fldd->width)) + || operands[opno].value.exp.X_add_number > (1 << fldd->bitfields[0].width)) { if (print_errors) as_bad (_("operand %u of '%.*s' out of range"), opno + 1, @@ -2636,7 +2636,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, value = 0; /* Opcode table should not use this encoding without a known relocation. */ - if (fldd->low_pos != 8 || fldd->width != 15) + if (fldd->bitfields[0].low_pos != 8 || fldd->bitfields[0].width != 15) abort (); /* We do not check for offset divisibility here; such a check is not needed at this point to encode the value, @@ -2663,7 +2663,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, value = 0; /* Opcode table should not use this encoding without a known relocation. */ - if (fldd->low_pos != 7 || fldd->width != 16) + if (fldd->bitfields[0].low_pos != 7 || fldd->bitfields[0].width != 16) abort (); *fix_needed = TRUE; *fix_exp = &operands[opno].value.exp; @@ -2683,7 +2683,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, value = 0; /* Opcode table should not use this encoding without a known relocation. */ - if (fldd->low_pos != 7 || fldd->width != 16) + if (fldd->bitfields[0].low_pos != 7 || fldd->bitfields[0].width != 16) abort (); *fix_needed = TRUE; *fix_exp = &operands[opno].value.exp; @@ -2701,13 +2701,13 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, *fix_needed = TRUE; *fix_exp = &operands[opno].value.exp; *fix_pcrel = 1; - if (fldd->low_pos == 7 && fldd->width == 21) + if (fldd->bitfields[0].low_pos == 7 && fldd->bitfields[0].width == 21) *fx_r_type = BFD_RELOC_C6000_PCR_S21; - else if (fldd->low_pos == 16 && fldd->width == 12) + else if (fldd->bitfields[0].low_pos == 16 && fldd->bitfields[0].width == 12) *fx_r_type = BFD_RELOC_C6000_PCR_S12; - else if (fldd->low_pos == 13 && fldd->width == 10) + else if (fldd->bitfields[0].low_pos == 13 && fldd->bitfields[0].width == 10) *fx_r_type = BFD_RELOC_C6000_PCR_S10; - else if (fldd->low_pos == 16 && fldd->width == 7) + else if (fldd->bitfields[0].low_pos == 16 && fldd->bitfields[0].width == 7) *fx_r_type = BFD_RELOC_C6000_PCR_S7; else /* Opcode table should not use this encoding without a @@ -2825,7 +2825,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, abort (); } if (mem.offset.exp.X_add_number < 0 - || mem.offset.exp.X_add_number >= (1 << fldd->width) * scale) + || mem.offset.exp.X_add_number >= (1 << fldd->bitfields[0].width) * scale) { if (print_errors) as_bad (_("offset in operand %u of '%.*s' out of range"), @@ -2858,7 +2858,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, if (mem.offset.exp.X_op != O_constant) abort (); if (mem.offset.exp.X_add_number < 0 - || mem.offset.exp.X_add_number >= (1 << fldd->width)) + || mem.offset.exp.X_add_number >= (1 << fldd->bitfields[0].width)) { if (print_errors) as_bad (_("offset in operand %u of '%.*s' out of range"), @@ -2931,7 +2931,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, case tic6x_coding_spmask: /* The position of such a field is hardcoded in the handling of "||^". */ - if (fldd->low_pos != 18) + if (fldd->bitfields[0].low_pos != 18) abort (); value = 0; for (opno = 0; opno < num_operands; opno++) @@ -2986,7 +2986,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, fcyc_bits = 4; else abort (); - if (fcyc_bits > fldd->width) + if (fcyc_bits > fldd->bitfields[0].width) abort (); if (opct->variable_fields[fld].coding_method == tic6x_coding_fstg) @@ -2994,7 +2994,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, int i, t; if (operands[opno].value.exp.X_add_number < 0 || (operands[opno].value.exp.X_add_number - >= (1 << (fldd->width - fcyc_bits)))) + >= (1 << (fldd->bitfields[0].width - fcyc_bits)))) { if (print_errors) as_bad (_("operand %u of '%.*s' out of range"), opno + 1, @@ -3003,7 +3003,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, return 0; } value = operands[opno].value.exp.X_add_number; - for (t = 0, i = fcyc_bits; i < fldd->width; i++) + for (t = 0, i = fcyc_bits; i < fldd->bitfields[0].width; i++) { t = (t << 1) | (value & 1); value >>= 1; @@ -3054,7 +3054,7 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, return 0; } - opcode_value |= value << fldd->low_pos; + opcode_value |= value << fldd->bitfields[0].low_pos; } if (this_line_creg) @@ -3077,8 +3077,8 @@ tic6x_try_encode (tic6x_opcode_id id, tic6x_operand *operands, if (z == NULL) abort (); - opcode_value |= this_line_creg << creg->low_pos; - opcode_value |= this_line_z << z->low_pos; + opcode_value |= this_line_creg << creg->bitfields[0].low_pos; + opcode_value |= this_line_z << z->bitfields[0].low_pos; } *ok = TRUE; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a1d364e..58fb22f 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,27 @@ +2013-03-27 Alexis Deruelle <alexis.deruelle@gmail.com> + + PR binutils/15068 + * gas/tic6x/insns16-d-unit.s: New test. + * gas/tic6x/insns16-d-unit.d: Expected disassembly. + * gas/tic6x/insns16-ddec.s: New test. + * gas/tic6x/insns16-ddec.d: Expected disassembly. + * gas/tic6x/insns16-dinc.s: New test. + * gas/tic6x/insns16-dinc.d: Expected disassembly. + * gas/tic6x/insns16-dind.s: New test. + * gas/tic6x/insns16-dind.d: Expected disassembly. + * gas/tic6x/insns16-doff4.s: New test. + * gas/tic6x/insns16-doff4.d: Expected disassembly. + * gas/tic6x/insns16-l-unit.s: New test. + * gas/tic6x/insns16-l-unit.d: Expected disassembly. + * gas/tic6x/insns16-lsd-unit.s: New test. + * gas/tic6x/insns16-lsd-unit.d: Expected disassembly. + * gas/tic6x/insns16-m-unit.s: New test. + * gas/tic6x/insns16-m-unit.d: Expected disassembly. + * gas/tic6x/insns16-s-unit-pcrel.s: New test. + * gas/tic6x/insns16-s-unit-pcrel.d: Expected disassembly. + * gas/tic6x/insns16-s-unit: New test. + * gas/tic6x/insns16-s-unit.d: Expected disassembly. + 2013-03-26 Douglas B Rupp <rupp@adacore.com> * gas/ia64/ia64.exp: Add new test reloc-mlx diff --git a/gas/testsuite/gas/tic6x/insns16-d-unit.d b/gas/testsuite/gas/tic6x/insns16-d-unit.d new file mode 100644 index 0000000..29970d5 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-d-unit.d @@ -0,0 +1,100 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 8c05[ \t]+stw \.D2T1 a0,\*\+b15\(0\) +[0-9a-f]+[02468ace] <[^>]*> 9c05[ \t]+stw \.D2T2 b0,\*\+b15\(0\) +[0-9a-f]+[02468ace] <[^>]*> 8c05[ \t]+stw \.D2T1 a0,\*\+b15\(0\) +[0-9a-f]+[02468ace] <[^>]*> 9c05[ \t]+stw \.D2T2 b0,\*\+b15\(0\) +[0-9a-f]+[02468ace] <[^>]*> cc35[ \t]+stw \.D2T1 a3,\*\+b15\(8\) +[0-9a-f]+[02468ace] <[^>]*> fc05[ \t]+stw \.D2T2 b0,\*\+b15\(12\) +[0-9a-f]+[02468ace] <[^>]*> dcf5[ \t]+stw \.D2T2 b7,\*\+b15\(24\) +[0-9a-f]+[02468ace] <[^>]*> 8c0d[ \t]+ldw \.D2T1 \*\+b15\(0\),a0 +[0-9a-f]+[02468ace] <[^>]*> 9c0d[ \t]+ldw \.D2T2 \*\+b15\(0\),b0 +[0-9a-f]+[02468ace] <[^>]*> 8c0d[ \t]+ldw \.D2T1 \*\+b15\(0\),a0 +[0-9a-f]+[02468ace] <[^>]*> 9c0d[ \t]+ldw \.D2T2 \*\+b15\(0\),b0 +[0-9a-f]+[02468ace] <[^>]*> cc3d[ \t]+ldw \.D2T1 \*\+b15\(8\),a3 +[0-9a-f]+[02468ace] <[^>]*> fc0d[ \t]+ldw \.D2T2 \*\+b15\(12\),b0 +[0-9a-f]+[02468ace] <[^>]*> dcfd[ \t]+ldw \.D2T2 \*\+b15\(24\),b7 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0036[ \t]+add \.D1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0037[ \t]+add \.D2 b0,b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 0836[ \t]+sub \.D1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0837[ \t]+sub \.D2 b0,b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1036[ \t]+add \.D1X a0,b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1837[ \t]+sub \.D2X b0,a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 8036[ \t]+add \.D1 a4,a0,a4 +[0-9a-f]+[02468ace] <[^>]*> c037[ \t]+add \.D2 b6,b0,b6 +[0-9a-f]+[02468ace] <[^>]*> e836[ \t]+sub \.D1 a7,a0,a7 +[0-9a-f]+[02468ace] <[^>]*> 8837[ \t]+sub \.D2 b4,b0,b4 +[0-9a-f]+[02468ace] <[^>]*> da36[ \t]+sub \.D1X a6,b4,a6 +[0-9a-f]+[02468ace] <[^>]*> e037[ \t]+add \.D2 b7,b0,b7 +[0-9a-f]+[02468ace] <[^>]*> d236[ \t]+add \.D1X a6,b4,a6 +[0-9a-f]+[02468ace] <[^>]*> e3b7[ \t]+add \.D2 b7,b7,b7 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0436[ \t]+addaw \.D1X b15,0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0437[ \t]+addaw \.D2 b15,0,b0 +[0-9a-f]+[02468ace] <[^>]*> 0c36[ \t]+addaw \.D1X b15,8,a0 +[0-9a-f]+[02468ace] <[^>]*> 0c37[ \t]+addaw \.D2 b15,8,b0 +[0-9a-f]+[02468ace] <[^>]*> 1436[ \t]+addaw \.D1X b15,16,a0 +[0-9a-f]+[02468ace] <[^>]*> 1c37[ \t]+addaw \.D2 b15,24,b0 +[0-9a-f]+[02468ace] <[^>]*> 8436[ \t]+addaw \.D1X b15,4,a0 +[0-9a-f]+[02468ace] <[^>]*> c437[ \t]+addaw \.D2 b15,6,b0 +[0-9a-f]+[02468ace] <[^>]*> ec36[ \t]+addaw \.D1X b15,15,a0 +[0-9a-f]+[02468ace] <[^>]*> 8c37[ \t]+addaw \.D2 b15,12,b0 +[0-9a-f]+[02468ace] <[^>]*> de36[ \t]+addaw \.D1X b15,30,a4 +[0-9a-f]+[02468ace] <[^>]*> e437[ \t]+addaw \.D2 b15,7,b0 +[0-9a-f]+[02468ace] <[^>]*> d636[ \t]+addaw \.D1X b15,22,a4 +[0-9a-f]+[02468ace] <[^>]*> e7b7[ \t]+addaw \.D2 b15,7,b7 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0c77[ \t]+addaw \.D2 b15,0,b15 +[0-9a-f]+[02468ace] <[^>]*> 2d77[ \t]+addaw \.D2 b15,9,b15 +[0-9a-f]+[02468ace] <[^>]*> 4e77[ \t]+addaw \.D2 b15,18,b15 +[0-9a-f]+[02468ace] <[^>]*> 6f77[ \t]+addaw \.D2 b15,27,b15 +[0-9a-f]+[02468ace] <[^>]*> 8c77[ \t]+addaw \.D2 b15,4,b15 +[0-9a-f]+[02468ace] <[^>]*> ad77[ \t]+addaw \.D2 b15,13,b15 +[0-9a-f]+[02468ace] <[^>]*> ce77[ \t]+addaw \.D2 b15,22,b15 +[0-9a-f]+[02468ace] <[^>]*> eff7[ \t]+subaw \.D2 b15,31,b15 +[0-9a-f]+[02468ace] <[^>]*> 2cf7[ \t]+subaw \.D2 b15,1,b15 +[0-9a-f]+[02468ace] <[^>]*> 4df7[ \t]+subaw \.D2 b15,10,b15 +[0-9a-f]+[02468ace] <[^>]*> 6ef7[ \t]+subaw \.D2 b15,19,b15 +[0-9a-f]+[02468ace] <[^>]*> 8ff7[ \t]+subaw \.D2 b15,28,b15 +[0-9a-f]+[02468ace] <[^>]*> acf7[ \t]+subaw \.D2 b15,5,b15 +[0-9a-f]+[02468ace] <[^>]*> cdf7[ \t]+subaw \.D2 b15,14,b15 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 7876[ \t]+sub \.D1 a0,1,a0 +[0-9a-f]+[02468ace] <[^>]*> 7877[ \t]+sub \.D2 b0,1,b0 +[0-9a-f]+[02468ace] <[^>]*> 78f6[ \t]+sub \.D1 a1,1,a1 +[0-9a-f]+[02468ace] <[^>]*> 79f7[ \t]+sub \.D2 b3,1,b3 +[0-9a-f]+[02468ace] <[^>]*> 5876[ \t]+<undefined instruction 0x5876> +[0-9a-f]+[02468ace] <[^>]*> 9877[ \t]+<undefined instruction 0x9877> +[0-9a-f]+[02468ace] <[^>]*> d876[ \t]+<undefined instruction 0xd876> +[0-9a-f]+[02468ace] <[^>]*> 7877[ \t]+sub \.D2 b0,1,b0 +[0-9a-f]+[02468ace] <[^>]*> 7876[ \t]+sub \.D1 a0,1,a0 +[0-9a-f]+[02468ace] <[^>]*> 7877[ \t]+sub \.D2 b0,1,b0 +[0-9a-f]+[02468ace] <[^>]*> 7876[ \t]+sub \.D1 a0,1,a0 +[0-9a-f]+[02468ace] <[^>]*> 7877[ \t]+sub \.D2 b0,1,b0 +[0-9a-f]+[02468ace] <[^>]*> 7876[ \t]+sub \.D1 a0,1,a0 +[0-9a-f]+[02468ace] <[^>]*> 7877[ \t]+sub \.D2 b0,1,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0077[ \t]+stw \.D2T1 a0,\*b15--\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4177[ \t]+ldw \.D2T1 \*\+\+b15\(4\),a2 +[0-9a-f]+[02468ace] <[^>]*> a277[ \t]+stdw \.D2T1 a5:a4,\*b15--\(16\) +[0-9a-f]+[02468ace] <[^>]*> e377[ \t]+lddw \.D2T1 \*\+\+b15\(16\),a7:a6 +[0-9a-f]+[02468ace] <[^>]*> 2477[ \t]+stw \.D2T1 a8,\*b15--\(8\) +[0-9a-f]+[02468ace] <[^>]*> 6577[ \t]+ldw \.D2T1 \*\+\+b15\(8\),a10 +[0-9a-f]+[02468ace] <[^>]*> 8677[ \t]+stdw \.D2T1 a13:a12,\*b15--\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0777[ \t]+stw \.D2T1 a14,\*b15--\(4\) +[0-9a-f]+[02468ace] <[^>]*> 11f7[ \t]+stw \.D2T2 b3,\*b15--\(4\) +[0-9a-f]+[02468ace] <[^>]*> 52f7[ \t]+ldw \.D2T2 \*\+\+b15\(4\),b5 +[0-9a-f]+[02468ace] <[^>]*> 4777[ \t]+ldw \.D2T1 \*\+\+b15\(4\),a14 +[0-9a-f]+[02468ace] <[^>]*> 6777[ \t]+ldw \.D2T1 \*\+\+b15\(8\),a14 +[0-9a-f]+[02468ace] <[^>]*> 15f7[ \t]+stw \.D2T2 b11,\*b15--\(4\) +[0-9a-f]+[02468ace] <[^>]*> 56f7[ \t]+ldw \.D2T2 \*\+\+b15\(4\),b13 +[0-9a-f]+[02468ace] <[^>]*> efe80000[ \t]+<fetch packet header 0xefe80000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-d-unit.s b/gas/testsuite/gas/tic6x/insns16-d-unit.s new file mode 100644 index 0000000..60ad1a6 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-d-unit.s @@ -0,0 +1,104 @@ +; Test C64x+ D-unit compact instruction formats + .text + nop + .align 16 + nop + .align 16 +dstk: ; op = 0 | STW (.unit) src, *B15[ucst5] + ; op = 1 | LDW (.unit)*B15[ucst5], dst + .short 0x8c05 + .short 0x9c05 + .short 0x8c05 + .short 0x9c05 + .short 0xcc35 + .short 0xfc05 + .short 0xdcf5 + .short 0x8c0d + .short 0x9c0d + .short 0x8c0d + .short 0x9c0d + .short 0xcc3d + .short 0xfc0d + .short 0xdcfd + .word 0xefe00000 +dx2op: ; op = 0 | ADD (.unit) src1, src2, dst (src1 = dst) + ; op = 1 | SUB (.unit) src1, src2, dst (src1 = dst, dst = src1 - src2 + .short 0x0036 + .short 0x0037 + .short 0x0836 + .short 0x0837 + .short 0x1036 + .short 0x1837 + .short 0x8036 + .short 0xc037 + .short 0xe836 + .short 0x8837 + .short 0xda36 + .short 0xe037 + .short 0xd236 + .short 0xe3b7 + .word 0xefe00000 +dx5: ; ADDAW (.unit)B15, ucst5, dst + .short 0x0436 + .short 0x0437 + .short 0x0c36 + .short 0x0c37 + .short 0x1436 + .short 0x1c37 + .short 0x8436 + .short 0xc437 + .short 0xec36 + .short 0x8c37 + .short 0xde36 + .short 0xe437 + .short 0xd636 + .short 0xe7b7 + .word 0xefe00000 +dx5p: + .short 0x0c77 + .short 0x2d77 + .short 0x4e77 + .short 0x6f77 + .short 0x8c77 + .short 0xad77 + .short 0xce77 + .short 0xeff7 + .short 0x2cf7 + .short 0x4df7 + .short 0x6ef7 + .short 0x8ff7 + .short 0xacf7 + .short 0xcdf7 + .word 0xefe00000 +dx1: + .short 0x7876 + .short 0x7877 + .short 0x78f6 + .short 0x79f7 + .short 0x5876 + .short 0x9877 + .short 0xd876 + .short 0x7877 + .short 0x7876 + .short 0x7877 + .short 0x7876 + .short 0x7877 + .short 0x7876 + .short 0x7877 + .word 0xefe00000 +dpp: + .short 0x0077 + .short 0x4177 + .short 0xa277 + .short 0xe377 + .short 0x2477 + .short 0x6577 + .short 0x8677 + .short 0x0777 + .short 0x11f7 + .short 0x52f7 + .short 0x4777 + .short 0x6777 + .short 0x15f7 + .short 0x56f7 + .word 0xefe80000 diff --git a/gas/testsuite/gas/tic6x/insns16-ddec.d b/gas/testsuite/gas/tic6x/insns16-ddec.d new file mode 100644 index 0000000..8f16c87 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-ddec.d @@ -0,0 +1,160 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stw \.D1T1 a0,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stw \.D1T2 b0,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+stb \.D1T1 a0,\*--a4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+ldw \.D1T1 \*--a4\(4\),a0 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stw \.D2T1 a0,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b0,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a0,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+ldw \.D2T1 \*--b4\(4\),a0 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b0,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stw \.D2T1 a0,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldbu \.D2T2 \*--b4\(1\),b0 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldbu \.D2T1 \*--b4\(2\),a0 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldbu \.D2T2 \*--b4\(2\),b1 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldbu \.D2T1 \*--b4\(2\),a1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stw \.D1T1 a16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stw \.D1T2 b16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+stb \.D1T1 a16,\*--a4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+ldw \.D1T1 \*--a4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a16,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+ldw \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a16,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldbu \.D2T2 \*--b4\(1\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldbu \.D2T1 \*--b4\(2\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldbu \.D2T2 \*--b4\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldbu \.D2T1 \*--b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efe8c000[ \t]+<fetch packet header 0xefe8c000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stw \.D1T1 a16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stw \.D1T2 b16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+stb \.D1T1 a16,\*--a4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+ldw \.D1T1 \*--a4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a16,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+ldw \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a16,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldb \.D2T2 \*--b4\(1\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldb \.D2T1 \*--b4\(2\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldb \.D2T2 \*--b4\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldb \.D2T1 \*--b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efe9c000[ \t]+<fetch packet header 0xefe9c000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stw \.D1T1 a16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stw \.D1T2 b16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+sth \.D1T1 a16,\*--a4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+ldw \.D1T1 \*--a4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+sth \.D2T1 a16,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+ldw \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+sth \.D2T1 a16,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldhu \.D2T2 \*--b4\(2\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldhu \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldhu \.D2T2 \*--b4\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldhu \.D2T1 \*--b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efeac000[ \t]+<fetch packet header 0xefeac000> +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+sth \.D1T1 a16,\*--a4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 5e04[ \t]+sth \.D1T2 b16,\*--a4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+sth \.D1T1 a16,\*--a4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+ldw \.D1T1 \*--a4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+sth \.D2T1 a16,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+ldw \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stw \.D2T2 b16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+sth \.D2T1 a16,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldh \.D2T2 \*--b4\(2\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldh \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldh \.D2T2 \*--b4\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldh \.D2T1 \*--b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efebc000[ \t]+<fetch packet header 0xefebc000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stdw \.D1T1 a17:a16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stdw \.D1T2 b17:b16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+stw \.D1T1 a16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+lddw \.D1T1 \*--a4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stdw \.D2T1 a17:a16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+lddw \.D2T1 \*--b4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldw \.D2T2 \*--b4\(4\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldw \.D2T1 \*--b4\(8\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldw \.D2T2 \*--b4\(8\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldw \.D2T1 \*--b4\(8\),a17 +[0-9a-f]+[02468ace] <[^>]*> efecc000[ \t]+<fetch packet header 0xefecc000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stdw \.D1T1 a17:a16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stdw \.D1T2 b17:b16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+stb \.D1T1 a16,\*--a4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+lddw \.D1T1 \*--a4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stdw \.D2T1 a17:a16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a16,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+lddw \.D2T1 \*--b4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stb \.D2T1 a16,\*--b4\(1\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldb \.D2T2 \*--b4\(1\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldb \.D2T1 \*--b4\(2\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldb \.D2T2 \*--b4\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldb \.D2T1 \*--b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efedc000[ \t]+<fetch packet header 0xefedc000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stdw \.D1T1 a17:a16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stdw \.D1T2 b17:b16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+stnw \.D1T1 a16,\*--a4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+lddw \.D1T1 \*--a4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stdw \.D2T1 a17:a16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stnw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+lddw \.D2T1 \*--b4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+stnw \.D2T1 a16,\*--b4\(4\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldnw \.D2T2 \*--b4\(4\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldnw \.D2T1 \*--b4\(8\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldnw \.D2T2 \*--b4\(8\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldnw \.D2T1 \*--b4\(8\),a17 +[0-9a-f]+[02468ace] <[^>]*> efeec000[ \t]+<fetch packet header 0xefeec000> +[0-9a-f]+[02468ace] <[^>]*> 4c04[ \t]+stdw \.D1T1 a17:a16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c04[ \t]+stdw \.D1T2 b17:b16,\*--a4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e04[ \t]+sth \.D1T1 a16,\*--a4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c0c[ \t]+lddw \.D1T1 \*--a4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 4c05[ \t]+stdw \.D2T1 a17:a16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+sth \.D2T1 a16,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c0d[ \t]+lddw \.D2T1 \*--b4\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 5c05[ \t]+stdw \.D2T2 b17:b16,\*--b4\(8\) +[0-9a-f]+[02468ace] <[^>]*> 4e05[ \t]+sth \.D2T1 a16,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 5e0d[ \t]+ldh \.D2T2 \*--b4\(2\),b16 +[0-9a-f]+[02468ace] <[^>]*> 6e0d[ \t]+ldh \.D2T1 \*--b4\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldh \.D2T2 \*--b4\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldh \.D2T1 \*--b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[0-9a-f]+[02468ace] <[^>]*> 4c14[ \t]+stndw \.D1T1 a17:a16,\*--a4\[1\] +[0-9a-f]+[02468ace] <[^>]*> 5c14[ \t]+stndw \.D1T2 b17:b16,\*--a4\[1\] +[0-9a-f]+[02468ace] <[^>]*> 4e14[ \t]+sth \.D1T1 a17,\*--a4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c1c[ \t]+ldndw \.D1T1 \*--a4\[1\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 4c15[ \t]+stndw \.D2T1 a17:a16,\*--b4\[1\] +[0-9a-f]+[02468ace] <[^>]*> 5c15[ \t]+stndw \.D2T2 b17:b16,\*--b4\[1\] +[0-9a-f]+[02468ace] <[^>]*> 4e15[ \t]+sth \.D2T1 a17,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 4c1d[ \t]+ldndw \.D2T1 \*--b4\[1\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 5c15[ \t]+stndw \.D2T2 b17:b16,\*--b4\[1\] +[0-9a-f]+[02468ace] <[^>]*> 4e15[ \t]+sth \.D2T1 a17,\*--b4\(2\) +[0-9a-f]+[02468ace] <[^>]*> 5e1d[ \t]+ldh \.D2T2 \*--b4\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldh \.D2T1 \*--b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> 7e1d[ \t]+ldh \.D2T2 \*--b4\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 6e1d[ \t]+ldh \.D2T1 \*--b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-ddec.s b/gas/testsuite/gas/tic6x/insns16-ddec.s new file mode 100644 index 0000000..d48f9dd --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-ddec.s @@ -0,0 +1,157 @@ +; Test C64x+ ddec compact instruction format + .text +ddec: + nop + .align 16 + nop + .align 16 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4c05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefe00000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefe8c000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefe9c000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefeac000 + .short 0x4e04 + .short 0x5e04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefebc000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefecc000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefedc000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefeec000 + .short 0x4c04 + .short 0x5c04 + .short 0x4e04 + .short 0x4c0c + .short 0x4c05 + .short 0x5c05 + .short 0x4e05 + .short 0x4c0d + .short 0x5c05 + .short 0x4e05 + .short 0x5e0d + .short 0x6e0d + .short 0x7e1d + .short 0x6e1d + .word 0xefefc000 + .short 0x4c14 + .short 0x5c14 + .short 0x4e14 + .short 0x4c1c + .short 0x4c15 + .short 0x5c15 + .short 0x4e15 + .short 0x4c1d + .short 0x5c15 + .short 0x4e15 + .short 0x5e1d + .short 0x6e1d + .short 0x7e1d + .short 0x6e1d + .word 0xefefc000 diff --git a/gas/testsuite/gas/tic6x/insns16-dinc.d b/gas/testsuite/gas/tic6x/insns16-dinc.d new file mode 100644 index 0000000..328c9ef --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-dinc.d @@ -0,0 +1,160 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stw \.D1T1 a0,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stw \.D1T2 b0,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+stb \.D1T1 a0,\*a4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+ldw \.D1T1 \*a4\+\+\(4\),a0 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stw \.D2T1 a0,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b0,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a0,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+ldw \.D2T1 \*b4\+\+\(4\),a0 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b0,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stw \.D2T1 a0,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldbu \.D2T2 \*b4\+\+\(1\),b0 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldbu \.D2T1 \*b4\+\+\(2\),a0 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldbu \.D2T2 \*b4\+\+\(2\),b1 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldbu \.D2T1 \*b4\+\+\(2\),a1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stw \.D1T1 a16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stw \.D1T2 b16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+stb \.D1T1 a16,\*a4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+ldw \.D1T1 \*a4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a16,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+ldw \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a16,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldbu \.D2T2 \*b4\+\+\(1\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldbu \.D2T1 \*b4\+\+\(2\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldbu \.D2T2 \*b4\+\+\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldbu \.D2T1 \*b4\+\+\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efe8c000[ \t]+<fetch packet header 0xefe8c000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stw \.D1T1 a16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stw \.D1T2 b16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+stb \.D1T1 a16,\*a4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+ldw \.D1T1 \*a4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a16,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+ldw \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a16,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldb \.D2T2 \*b4\+\+\(1\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldb \.D2T1 \*b4\+\+\(2\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldb \.D2T2 \*b4\+\+\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldb \.D2T1 \*b4\+\+\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efe9c000[ \t]+<fetch packet header 0xefe9c000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stw \.D1T1 a16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stw \.D1T2 b16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+sth \.D1T1 a16,\*a4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+ldw \.D1T1 \*a4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+sth \.D2T1 a16,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+ldw \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+sth \.D2T1 a16,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldhu \.D2T2 \*b4\+\+\(2\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldhu \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldhu \.D2T2 \*b4\+\+\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldhu \.D2T1 \*b4\+\+\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efeac000[ \t]+<fetch packet header 0xefeac000> +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+sth \.D1T1 a16,\*a4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 1e04[ \t]+sth \.D1T2 b16,\*a4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+sth \.D1T1 a16,\*a4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+ldw \.D1T1 \*a4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+sth \.D2T1 a16,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+ldw \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stw \.D2T2 b16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+sth \.D2T1 a16,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldh \.D2T2 \*b4\+\+\(2\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldh \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldh \.D2T2 \*b4\+\+\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldh \.D2T1 \*b4\+\+\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efebc000[ \t]+<fetch packet header 0xefebc000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stdw \.D1T1 a17:a16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stdw \.D1T2 b17:b16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+stw \.D1T1 a16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+lddw \.D1T1 \*a4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stdw \.D2T1 a17:a16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+lddw \.D2T1 \*b4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldw \.D2T2 \*b4\+\+\(4\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldw \.D2T1 \*b4\+\+\(8\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldw \.D2T2 \*b4\+\+\(8\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldw \.D2T1 \*b4\+\+\(8\),a17 +[0-9a-f]+[02468ace] <[^>]*> efecc000[ \t]+<fetch packet header 0xefecc000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stdw \.D1T1 a17:a16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stdw \.D1T2 b17:b16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+stb \.D1T1 a16,\*a4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+lddw \.D1T1 \*a4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stdw \.D2T1 a17:a16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a16,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+lddw \.D2T1 \*b4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stb \.D2T1 a16,\*b4\+\+\(1\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldb \.D2T2 \*b4\+\+\(1\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldb \.D2T1 \*b4\+\+\(2\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldb \.D2T2 \*b4\+\+\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldb \.D2T1 \*b4\+\+\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efedc000[ \t]+<fetch packet header 0xefedc000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stdw \.D1T1 a17:a16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stdw \.D1T2 b17:b16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+stnw \.D1T1 a16,\*a4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+lddw \.D1T1 \*a4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stdw \.D2T1 a17:a16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stnw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+lddw \.D2T1 \*b4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+stnw \.D2T1 a16,\*b4\+\+\(4\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldnw \.D2T2 \*b4\+\+\(4\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldnw \.D2T1 \*b4\+\+\(8\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldnw \.D2T2 \*b4\+\+\(8\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldnw \.D2T1 \*b4\+\+\(8\),a17 +[0-9a-f]+[02468ace] <[^>]*> efeec000[ \t]+<fetch packet header 0xefeec000> +[0-9a-f]+[02468ace] <[^>]*> 0c04[ \t]+stdw \.D1T1 a17:a16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c04[ \t]+stdw \.D1T2 b17:b16,\*a4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e04[ \t]+sth \.D1T1 a16,\*a4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c0c[ \t]+lddw \.D1T1 \*a4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0c05[ \t]+stdw \.D2T1 a17:a16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+sth \.D2T1 a16,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c0d[ \t]+lddw \.D2T1 \*b4\+\+\(8\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1c05[ \t]+stdw \.D2T2 b17:b16,\*b4\+\+\(8\) +[0-9a-f]+[02468ace] <[^>]*> 0e05[ \t]+sth \.D2T1 a16,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 1e0d[ \t]+ldh \.D2T2 \*b4\+\+\(2\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2e0d[ \t]+ldh \.D2T1 \*b4\+\+\(4\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldh \.D2T2 \*b4\+\+\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldh \.D2T1 \*b4\+\+\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[0-9a-f]+[02468ace] <[^>]*> 0c14[ \t]+stndw \.D1T1 a17:a16,\*a4\+\+\[1\] +[0-9a-f]+[02468ace] <[^>]*> 1c14[ \t]+stndw \.D1T2 b17:b16,\*a4\+\+\[1\] +[0-9a-f]+[02468ace] <[^>]*> 0e14[ \t]+sth \.D1T1 a17,\*a4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c1c[ \t]+ldndw \.D1T1 \*a4\+\+\[1\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0c15[ \t]+stndw \.D2T1 a17:a16,\*b4\+\+\[1\] +[0-9a-f]+[02468ace] <[^>]*> 1c15[ \t]+stndw \.D2T2 b17:b16,\*b4\+\+\[1\] +[0-9a-f]+[02468ace] <[^>]*> 0e15[ \t]+sth \.D2T1 a17,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 0c1d[ \t]+ldndw \.D2T1 \*b4\+\+\[1\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1c15[ \t]+stndw \.D2T2 b17:b16,\*b4\+\+\[1\] +[0-9a-f]+[02468ace] <[^>]*> 0e15[ \t]+sth \.D2T1 a17,\*b4\+\+\(2\) +[0-9a-f]+[02468ace] <[^>]*> 1e1d[ \t]+ldh \.D2T2 \*b4\+\+\(2\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldh \.D2T1 \*b4\+\+\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> 3e1d[ \t]+ldh \.D2T2 \*b4\+\+\(4\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2e1d[ \t]+ldh \.D2T1 \*b4\+\+\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-dinc.s b/gas/testsuite/gas/tic6x/insns16-dinc.s new file mode 100644 index 0000000..388af5d --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-dinc.s @@ -0,0 +1,157 @@ +; Test C64x+ dinc compact instruction format + .text +dinc: + nop + .align 16 + nop + .align 16 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0c05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefe00000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefe8c000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefe9c000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefeac000 + .short 0x0e04 + .short 0x1e04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefebc000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefecc000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefedc000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefeec000 + .short 0x0c04 + .short 0x1c04 + .short 0x0e04 + .short 0x0c0c + .short 0x0c05 + .short 0x1c05 + .short 0x0e05 + .short 0x0c0d + .short 0x1c05 + .short 0x0e05 + .short 0x1e0d + .short 0x2e0d + .short 0x3e1d + .short 0x2e1d + .word 0xefefc000 + .short 0x0c14 + .short 0x1c14 + .short 0x0e14 + .short 0x0c1c + .short 0x0c15 + .short 0x1c15 + .short 0x0e15 + .short 0x0c1d + .short 0x1c15 + .short 0x0e15 + .short 0x1e1d + .short 0x2e1d + .short 0x3e1d + .short 0x2e1d + .word 0xefefc000 diff --git a/gas/testsuite/gas/tic6x/insns16-dind.d b/gas/testsuite/gas/tic6x/insns16-dind.d new file mode 100644 index 0000000..a9005e5 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-dind.d @@ -0,0 +1,160 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stw \.D1T1 a0,\*\+a4\[a0\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stw \.D1T2 b0,\*\+a4\[a0\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+stb \.D1T1 a0,\*\+a4\[a0\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+ldw \.D1T1 \*\+a4\[a0\],a0 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stw \.D2T1 a0,\*\+b4\[b0\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b0,\*\+b4\[b0\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a0,\*\+b4\[b0\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+ldw \.D2T1 \*\+b4\[b0\],a0 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b0,\*\+b4\[b0\] +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stw \.D2T1 a0,\*\+b4\[b0\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldbu \.D2T2 \*\+b4\[b0\],b0 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldbu \.D2T1 \*\+b4\[b1\],a0 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldbu \.D2T2 \*\+b4\[b1\],b1 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldbu \.D2T1 \*\+b4\[b1\],a1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stw \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stw \.D1T2 b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+stb \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+ldw \.D1T1 \*\+a4\[a16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+ldw \.D2T1 \*\+b4\[b16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldbu \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldbu \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldbu \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldbu \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efe8c000[ \t]+<fetch packet header 0xefe8c000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stw \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stw \.D1T2 b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+stb \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+ldw \.D1T1 \*\+a4\[a16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+ldw \.D2T1 \*\+b4\[b16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldb \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldb \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldb \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldb \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efe9c000[ \t]+<fetch packet header 0xefe9c000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stw \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stw \.D1T2 b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+sth \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+ldw \.D1T1 \*\+a4\[a16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+sth \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+ldw \.D2T1 \*\+b4\[b16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+sth \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldhu \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldhu \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldhu \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldhu \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efeac000[ \t]+<fetch packet header 0xefeac000> +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+sth \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1604[ \t]+sth \.D1T2 b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+sth \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+ldw \.D1T1 \*\+a4\[a16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+sth \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+ldw \.D2T1 \*\+b4\[b16\],a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stw \.D2T2 b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+sth \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldh \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldh \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldh \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldh \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efebc000[ \t]+<fetch packet header 0xefebc000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stdw \.D1T1 a17:a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stdw \.D1T2 b17:b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+stw \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+lddw \.D1T1 \*\+a4\[a16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stdw \.D2T1 a17:a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+lddw \.D2T1 \*\+b4\[b16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldw \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldw \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldw \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldw \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efecc000[ \t]+<fetch packet header 0xefecc000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stdw \.D1T1 a17:a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stdw \.D1T2 b17:b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+stb \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+lddw \.D1T1 \*\+a4\[a16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stdw \.D2T1 a17:a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+lddw \.D2T1 \*\+b4\[b16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stb \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldb \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldb \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldb \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldb \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efedc000[ \t]+<fetch packet header 0xefedc000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stdw \.D1T1 a17:a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stdw \.D1T2 b17:b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+stnw \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+lddw \.D1T1 \*\+a4\[a16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stdw \.D2T1 a17:a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stnw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+lddw \.D2T1 \*\+b4\[b16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+stnw \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldnw \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldnw \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldnw \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldnw \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efeec000[ \t]+<fetch packet header 0xefeec000> +[0-9a-f]+[02468ace] <[^>]*> 0404[ \t]+stdw \.D1T1 a17:a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 1404[ \t]+stdw \.D1T2 b17:b16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 0604[ \t]+sth \.D1T1 a16,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 040c[ \t]+lddw \.D1T1 \*\+a4\[a16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0405[ \t]+stdw \.D2T1 a17:a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+sth \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 040d[ \t]+lddw \.D2T1 \*\+b4\[b16\],a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1405[ \t]+stdw \.D2T2 b17:b16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 0605[ \t]+sth \.D2T1 a16,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 160d[ \t]+ldh \.D2T2 \*\+b4\[b16\],b16 +[0-9a-f]+[02468ace] <[^>]*> 260d[ \t]+ldh \.D2T1 \*\+b4\[b17\],a16 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldh \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldh \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[0-9a-f]+[02468ace] <[^>]*> 0414[ \t]+stndw \.D1T1 a17:a16,\*\+a4\(a16\) +[0-9a-f]+[02468ace] <[^>]*> 1414[ \t]+stndw \.D1T2 b17:b16,\*\+a4\(a16\) +[0-9a-f]+[02468ace] <[^>]*> 0614[ \t]+sth \.D1T1 a17,\*\+a4\[a16\] +[0-9a-f]+[02468ace] <[^>]*> 041c[ \t]+ldndw \.D1T1 \*\+a4\(a16\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0415[ \t]+stndw \.D2T1 a17:a16,\*\+b4\(b16\) +[0-9a-f]+[02468ace] <[^>]*> 1415[ \t]+stndw \.D2T2 b17:b16,\*\+b4\(b16\) +[0-9a-f]+[02468ace] <[^>]*> 0615[ \t]+sth \.D2T1 a17,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 041d[ \t]+ldndw \.D2T1 \*\+b4\(b16\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1415[ \t]+stndw \.D2T2 b17:b16,\*\+b4\(b16\) +[0-9a-f]+[02468ace] <[^>]*> 0615[ \t]+sth \.D2T1 a17,\*\+b4\[b16\] +[0-9a-f]+[02468ace] <[^>]*> 161d[ \t]+ldh \.D2T2 \*\+b4\[b16\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldh \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> 361d[ \t]+ldh \.D2T2 \*\+b4\[b17\],b17 +[0-9a-f]+[02468ace] <[^>]*> 261d[ \t]+ldh \.D2T1 \*\+b4\[b17\],a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-dind.s b/gas/testsuite/gas/tic6x/insns16-dind.s new file mode 100644 index 0000000..8f3a421 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-dind.s @@ -0,0 +1,158 @@ +; Test C64x+ dind compact instruction format + .text + .nocmp +dind: + nop + .align 16 + nop + .align 16 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0405 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefe00000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefe8c000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefe9c000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefeac000 + .short 0x0604 + .short 0x1604 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefebc000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefecc000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefedc000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefeec000 + .short 0x0404 + .short 0x1404 + .short 0x0604 + .short 0x040c + .short 0x0405 + .short 0x1405 + .short 0x0605 + .short 0x040d + .short 0x1405 + .short 0x0605 + .short 0x160d + .short 0x260d + .short 0x361d + .short 0x261d + .word 0xefefc000 + .short 0x0414 + .short 0x1414 + .short 0x0614 + .short 0x041c + .short 0x0415 + .short 0x1415 + .short 0x0615 + .short 0x041d + .short 0x1415 + .short 0x0615 + .short 0x161d + .short 0x261d + .short 0x361d + .short 0x261d + .word 0xefefc000 diff --git a/gas/testsuite/gas/tic6x/insns16-doff4.d b/gas/testsuite/gas/tic6x/insns16-doff4.d new file mode 100644 index 0000000..0cabd6c --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-doff4.d @@ -0,0 +1,160 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stw \.D1T1 a0,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stw \.D1T2 b0,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+stb \.D1T1 a0,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+ldw \.D1T1 \*\+a4\(0\),a0 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stw \.D2T1 a0,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b0,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a0,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+ldw \.D2T1 \*\+b4\(0\),a0 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b0,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a0,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldbu \.D2T2 \*\+b4\(0\),b0 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldbu \.D2T1 \*\+b4\(9\),a0 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldbu \.D2T2 \*\+b4\(9\),b1 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldbu \.D2T1 \*\+b4\(1\),a1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stw \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stw \.D1T2 b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+stb \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+ldw \.D1T1 \*\+a4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+ldw \.D2T1 \*\+b4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldbu \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldbu \.D2T1 \*\+b4\(9\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldbu \.D2T2 \*\+b4\(9\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldbu \.D2T1 \*\+b4\(1\),a17 +[0-9a-f]+[02468ace] <[^>]*> efe8c000[ \t]+<fetch packet header 0xefe8c000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stw \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stw \.D1T2 b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+stb \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+ldw \.D1T1 \*\+a4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+ldw \.D2T1 \*\+b4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldb \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldb \.D2T1 \*\+b4\(9\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldb \.D2T2 \*\+b4\(9\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldb \.D2T1 \*\+b4\(1\),a17 +[0-9a-f]+[02468ace] <[^>]*> efe9c000[ \t]+<fetch packet header 0xefe9c000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stw \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stw \.D1T2 b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+sth \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+ldw \.D1T1 \*\+a4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+sth \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+ldw \.D2T1 \*\+b4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+sth \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldhu \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldhu \.D2T1 \*\+b4\(18\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldhu \.D2T2 \*\+b4\(18\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldhu \.D2T1 \*\+b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efeac000[ \t]+<fetch packet header 0xefeac000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stw \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stw \.D1T2 b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+sth \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+ldw \.D1T1 \*\+a4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+sth \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+ldw \.D2T1 \*\+b4\(0\),a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stw \.D2T2 b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+sth \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldh \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldh \.D2T1 \*\+b4\(18\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldh \.D2T2 \*\+b4\(18\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldh \.D2T1 \*\+b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efebc000[ \t]+<fetch packet header 0xefebc000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stdw \.D1T1 a17:a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stdw \.D1T2 b17:b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+stw \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+lddw \.D1T1 \*\+a4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stdw \.D2T1 a17:a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+lddw \.D2T1 \*\+b4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldw \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldw \.D2T1 \*\+b4\(36\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldw \.D2T2 \*\+b4\(36\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldw \.D2T1 \*\+b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efecc000[ \t]+<fetch packet header 0xefecc000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stdw \.D1T1 a17:a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stdw \.D1T2 b17:b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+stb \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+lddw \.D1T1 \*\+a4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stdw \.D2T1 a17:a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+lddw \.D2T1 \*\+b4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stb \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldb \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldb \.D2T1 \*\+b4\(9\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldb \.D2T2 \*\+b4\(9\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldb \.D2T1 \*\+b4\(1\),a17 +[0-9a-f]+[02468ace] <[^>]*> efedc000[ \t]+<fetch packet header 0xefedc000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stdw \.D1T1 a17:a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stdw \.D1T2 b17:b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+stnw \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+lddw \.D1T1 \*\+a4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stdw \.D2T1 a17:a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stnw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+lddw \.D2T1 \*\+b4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+stnw \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldnw \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldnw \.D2T1 \*\+b4\(36\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldnw \.D2T2 \*\+b4\(36\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldnw \.D2T1 \*\+b4\(4\),a17 +[0-9a-f]+[02468ace] <[^>]*> efeec000[ \t]+<fetch packet header 0xefeec000> +[0-9a-f]+[02468ace] <[^>]*> 0004[ \t]+stdw \.D1T1 a17:a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1004[ \t]+stdw \.D1T2 b17:b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0204[ \t]+sth \.D1T1 a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000c[ \t]+lddw \.D1T1 \*\+a4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0005[ \t]+stdw \.D2T1 a17:a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+sth \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 000d[ \t]+lddw \.D2T1 \*\+b4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1005[ \t]+stdw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0205[ \t]+sth \.D2T1 a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 120d[ \t]+ldh \.D2T2 \*\+b4\(0\),b16 +[0-9a-f]+[02468ace] <[^>]*> 2a0d[ \t]+ldh \.D2T1 \*\+b4\(18\),a16 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldh \.D2T2 \*\+b4\(18\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldh \.D2T1 \*\+b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[0-9a-f]+[02468ace] <[^>]*> 0014[ \t]+stndw \.D1T1 a17:a16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1014[ \t]+stndw \.D1T2 b17:b16,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0214[ \t]+sth \.D1T1 a17,\*\+a4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 001c[ \t]+ldndw \.D1T1 \*\+a4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 0015[ \t]+stndw \.D2T1 a17:a16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 1015[ \t]+stndw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0215[ \t]+sth \.D2T1 a17,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 001d[ \t]+ldndw \.D2T1 \*\+b4\(0\),a17:a16 +[0-9a-f]+[02468ace] <[^>]*> 1015[ \t]+stndw \.D2T2 b17:b16,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 0215[ \t]+sth \.D2T1 a17,\*\+b4\(0\) +[0-9a-f]+[02468ace] <[^>]*> 121d[ \t]+ldh \.D2T2 \*\+b4\(0\),b17 +[0-9a-f]+[02468ace] <[^>]*> 2a1d[ \t]+ldh \.D2T1 \*\+b4\(18\),a17 +[0-9a-f]+[02468ace] <[^>]*> 3a1d[ \t]+ldh \.D2T2 \*\+b4\(18\),b17 +[0-9a-f]+[02468ace] <[^>]*> 221d[ \t]+ldh \.D2T1 \*\+b4\(2\),a17 +[0-9a-f]+[02468ace] <[^>]*> efefc000[ \t]+<fetch packet header 0xefefc000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-doff4.s b/gas/testsuite/gas/tic6x/insns16-doff4.s new file mode 100644 index 0000000..99b5688 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-doff4.s @@ -0,0 +1,158 @@ +; Test C64x+ 16 bits instructions - doff4 format + .text + .nocmp +doff4: + nop + .align 16 + nop + .align 16 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefe00000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefe8c000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefe9c000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefeac000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefebc000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefecc000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefedc000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefeec000 + .short 0x0004 + .short 0x1004 + .short 0x0204 + .short 0x000c + .short 0x0005 + .short 0x1005 + .short 0x0205 + .short 0x000d + .short 0x1005 + .short 0x0205 + .short 0x120d + .short 0x2a0d + .short 0x3a1d + .short 0x221d + .word 0xefefc000 + .short 0x0014 + .short 0x1014 + .short 0x0214 + .short 0x001c + .short 0x0015 + .short 0x1015 + .short 0x0215 + .short 0x001d + .short 0x1015 + .short 0x0215 + .short 0x121d + .short 0x2a1d + .short 0x3a1d + .short 0x221d + .word 0xefefc000 diff --git a/gas/testsuite/gas/tic6x/insns16-l-unit.d b/gas/testsuite/gas/tic6x/insns16-l-unit.d new file mode 100644 index 0000000..ebfab81 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-l-unit.d @@ -0,0 +1,175 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 0010[ \t]+add \.L1 a0,a0,a1 +[0-9a-f]+[02468ace] <[^>]*> 2120[ \t]+add \.L1 a1,a2,a2 +[0-9a-f]+[02468ace] <[^>]*> 4230[ \t]+add \.L1 a2,a4,a3 +[0-9a-f]+[02468ace] <[^>]*> 6340[ \t]+add \.L1 a3,a6,a4 +[0-9a-f]+[02468ace] <[^>]*> 8050[ \t]+add \.L1 a4,a0,a5 +[0-9a-f]+[02468ace] <[^>]*> a160[ \t]+add \.L1 a5,a2,a6 +[0-9a-f]+[02468ace] <[^>]*> c270[ \t]+add \.L1 a6,a4,a7 +[0-9a-f]+[02468ace] <[^>]*> eb80[ \t]+sub \.L1 a7,a7,a0 +[0-9a-f]+[02468ace] <[^>]*> 0890[ \t]+sub \.L1 a0,a1,a1 +[0-9a-f]+[02468ace] <[^>]*> 29a0[ \t]+sub \.L1 a1,a3,a2 +[0-9a-f]+[02468ace] <[^>]*> 4ab0[ \t]+sub \.L1 a2,a5,a3 +[0-9a-f]+[02468ace] <[^>]*> 6bc0[ \t]+sub \.L1 a3,a7,a4 +[0-9a-f]+[02468ace] <[^>]*> 88d0[ \t]+sub \.L1 a4,a1,a5 +[0-9a-f]+[02468ace] <[^>]*> a9e0[ \t]+sub \.L1 a5,a3,a6 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> c2f0[ \t]+sadd \.L1 a22,a21,a23 +[0-9a-f]+[02468ace] <[^>]*> e300[ \t]+sadd \.L1 a23,a22,a16 +[0-9a-f]+[02468ace] <[^>]*> 0010[ \t]+sadd \.L1 a16,a16,a17 +[0-9a-f]+[02468ace] <[^>]*> 2120[ \t]+sadd \.L1 a17,a18,a18 +[0-9a-f]+[02468ace] <[^>]*> 4230[ \t]+sadd \.L1 a18,a20,a19 +[0-9a-f]+[02468ace] <[^>]*> 6340[ \t]+sadd \.L1 a19,a22,a20 +[0-9a-f]+[02468ace] <[^>]*> 8050[ \t]+sadd \.L1 a20,a16,a21 +[0-9a-f]+[02468ace] <[^>]*> a960[ \t]+ssub \.L1 a21,a18,a22 +[0-9a-f]+[02468ace] <[^>]*> ca70[ \t]+ssub \.L1 a22,a20,a23 +[0-9a-f]+[02468ace] <[^>]*> eb80[ \t]+ssub \.L1 a23,a23,a16 +[0-9a-f]+[02468ace] <[^>]*> 0890[ \t]+ssub \.L1 a16,a17,a17 +[0-9a-f]+[02468ace] <[^>]*> 29a0[ \t]+ssub \.L1 a17,a19,a18 +[0-9a-f]+[02468ace] <[^>]*> 4ab0[ \t]+ssub \.L1 a18,a21,a19 +[0-9a-f]+[02468ace] <[^>]*> 6bc0[ \t]+ssub \.L1 a19,a23,a20 +[0-9a-f]+[02468ace] <[^>]*> efe84000[ \t]+<fetch packet header 0xefe84000> +[0-9a-f]+[02468ace] <[^>]*> 0410[ \t]+add \.L1 8,a0,a1 +[0-9a-f]+[02468ace] <[^>]*> 3520[ \t]+add \.L1X 1,b2,a2 +[0-9a-f]+[02468ace] <[^>]*> 4630[ \t]+add \.L1 2,a4,a3 +[0-9a-f]+[02468ace] <[^>]*> 7740[ \t]+add \.L1X 3,b6,a4 +[0-9a-f]+[02468ace] <[^>]*> 8550[ \t]+add \.L1 4,a2,a5 +[0-9a-f]+[02468ace] <[^>]*> b660[ \t]+add \.L1X 5,b4,a6 +[0-9a-f]+[02468ace] <[^>]*> c770[ \t]+add \.L1 6,a6,a7 +[0-9a-f]+[02468ace] <[^>]*> 1c80[ \t]+add \.L1X -8,b1,a0 +[0-9a-f]+[02468ace] <[^>]*> 2d90[ \t]+add \.L1 -7,a3,a1 +[0-9a-f]+[02468ace] <[^>]*> 5ea0[ \t]+add \.L1X -6,b5,a2 +[0-9a-f]+[02468ace] <[^>]*> 6fb0[ \t]+add \.L1 -5,a7,a3 +[0-9a-f]+[02468ace] <[^>]*> 9cc0[ \t]+add \.L1X -4,b1,a4 +[0-9a-f]+[02468ace] <[^>]*> add0[ \t]+add \.L1 -3,a3,a5 +[0-9a-f]+[02468ace] <[^>]*> dee0[ \t]+add \.L1X -2,b5,a6 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0408[ \t]+and \.L1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 2409[ \t]+and \.L2 b1,b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 4418[ \t]+and \.L1 a2,a0,a1 +[0-9a-f]+[02468ace] <[^>]*> 6419[ \t]+and \.L2 b3,b0,b1 +[0-9a-f]+[02468ace] <[^>]*> 9408[ \t]+and \.L1X a4,b0,a0 +[0-9a-f]+[02468ace] <[^>]*> b409[ \t]+and \.L2X b5,a0,b0 +[0-9a-f]+[02468ace] <[^>]*> d418[ \t]+and \.L1X a6,b0,a1 +[0-9a-f]+[02468ace] <[^>]*> f439[ \t]+or \.L2X b7,a0,b1 +[0-9a-f]+[02468ace] <[^>]*> 2428[ \t]+or \.L1 a1,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 4429[ \t]+or \.L2 b2,b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 6438[ \t]+or \.L1 a3,a0,a1 +[0-9a-f]+[02468ace] <[^>]*> 8439[ \t]+or \.L2 b4,b0,b1 +[0-9a-f]+[02468ace] <[^>]*> b428[ \t]+or \.L1X a5,b0,a0 +[0-9a-f]+[02468ace] <[^>]*> d429[ \t]+or \.L2X b6,a0,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0458[ \t]+xor \.L1 a16,a16,a1 +[0-9a-f]+[02468ace] <[^>]*> 2449[ \t]+xor \.L2 b17,b16,b0 +[0-9a-f]+[02468ace] <[^>]*> 4448[ \t]+xor \.L1 a18,a16,a0 +[0-9a-f]+[02468ace] <[^>]*> 6459[ \t]+xor \.L2 b19,b16,b1 +[0-9a-f]+[02468ace] <[^>]*> 9458[ \t]+xor \.L1X a20,b16,a1 +[0-9a-f]+[02468ace] <[^>]*> b449[ \t]+xor \.L2X b21,a16,b0 +[0-9a-f]+[02468ace] <[^>]*> d448[ \t]+xor \.L1X a22,b16,a0 +[0-9a-f]+[02468ace] <[^>]*> f479[ \t]+cmpeq \.L2X b23,a16,b1 +[0-9a-f]+[02468ace] <[^>]*> 2468[ \t]+cmpeq \.L1 a17,a16,a0 +[0-9a-f]+[02468ace] <[^>]*> 4469[ \t]+cmpeq \.L2 b18,b16,b0 +[0-9a-f]+[02468ace] <[^>]*> 6478[ \t]+cmpeq \.L1 a19,a16,a1 +[0-9a-f]+[02468ace] <[^>]*> 8479[ \t]+cmpeq \.L2 b20,b16,b1 +[0-9a-f]+[02468ace] <[^>]*> b468[ \t]+cmpeq \.L1X a21,b16,a0 +[0-9a-f]+[02468ace] <[^>]*> d469[ \t]+cmpeq \.L2X b22,a16,b0 +[0-9a-f]+[02468ace] <[^>]*> efe80000[ \t]+<fetch packet header 0xefe80000> +[0-9a-f]+[02468ace] <[^>]*> 0c18[ \t]+cmplt \.L1 a0,a0,a1 +[0-9a-f]+[02468ace] <[^>]*> 2c09[ \t]+cmplt \.L2 b1,b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 4c08[ \t]+cmplt \.L1 a2,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 6c19[ \t]+cmplt \.L2 b3,b0,b1 +[0-9a-f]+[02468ace] <[^>]*> 9c18[ \t]+cmplt \.L1X a4,b0,a1 +[0-9a-f]+[02468ace] <[^>]*> bc09[ \t]+cmplt \.L2X b5,a0,b0 +[0-9a-f]+[02468ace] <[^>]*> dc08[ \t]+cmplt \.L1X a6,b0,a0 +[0-9a-f]+[02468ace] <[^>]*> fc39[ \t]+cmpgt \.L2X b7,a0,b1 +[0-9a-f]+[02468ace] <[^>]*> 2c28[ \t]+cmpgt \.L1 a1,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 4c29[ \t]+cmpgt \.L2 b2,b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 6c38[ \t]+cmpgt \.L1 a3,a0,a1 +[0-9a-f]+[02468ace] <[^>]*> 8c39[ \t]+cmpgt \.L2 b4,b0,b1 +[0-9a-f]+[02468ace] <[^>]*> bc28[ \t]+cmpgt \.L1X a5,b0,a0 +[0-9a-f]+[02468ace] <[^>]*> dc29[ \t]+cmpgt \.L2X b6,a0,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0c58[ \t]+cmpltu \.L1 a16,a16,a1 +[0-9a-f]+[02468ace] <[^>]*> 2c49[ \t]+cmpltu \.L2 b17,b16,b0 +[0-9a-f]+[02468ace] <[^>]*> 4c48[ \t]+cmpltu \.L1 a18,a16,a0 +[0-9a-f]+[02468ace] <[^>]*> 6c59[ \t]+cmpltu \.L2 b19,b16,b1 +[0-9a-f]+[02468ace] <[^>]*> 9c58[ \t]+cmpltu \.L1X a20,b16,a1 +[0-9a-f]+[02468ace] <[^>]*> bc49[ \t]+cmpltu \.L2X b21,a16,b0 +[0-9a-f]+[02468ace] <[^>]*> dc48[ \t]+cmpltu \.L1X a22,b16,a0 +[0-9a-f]+[02468ace] <[^>]*> fc79[ \t]+cmpgtu \.L2X b23,a16,b1 +[0-9a-f]+[02468ace] <[^>]*> 2c68[ \t]+cmpgtu \.L1 a17,a16,a0 +[0-9a-f]+[02468ace] <[^>]*> 4c69[ \t]+cmpgtu \.L2 b18,b16,b0 +[0-9a-f]+[02468ace] <[^>]*> 6c78[ \t]+cmpgtu \.L1 a19,a16,a1 +[0-9a-f]+[02468ace] <[^>]*> 8c79[ \t]+cmpgtu \.L2 b20,b16,b1 +[0-9a-f]+[02468ace] <[^>]*> bc68[ \t]+cmpgtu \.L1X a21,b16,a0 +[0-9a-f]+[02468ace] <[^>]*> dc69[ \t]+cmpgtu \.L2X b22,a16,b0 +[0-9a-f]+[02468ace] <[^>]*> efe80000[ \t]+<fetch packet header 0xefe80000> +[0-9a-f]+[02468ace] <[^>]*> 0426[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 2527[ \t]+mvk \.L2 1,b2 +[0-9a-f]+[02468ace] <[^>]*> 46a6[ \t]+mvk \.L1 2,a5 +[0-9a-f]+[02468ace] <[^>]*> 67a7[ \t]+mvk \.L2 3,b7 +[0-9a-f]+[02468ace] <[^>]*> 8626[ \t]+mvk \.L1 4,a4 +[0-9a-f]+[02468ace] <[^>]*> a527[ \t]+mvk \.L2 5,b2 +[0-9a-f]+[02468ace] <[^>]*> c4a6[ \t]+mvk \.L1 6,a1 +[0-9a-f]+[02468ace] <[^>]*> f5a7[ \t]+mvk \.L2 -9,b3 +[0-9a-f]+[02468ace] <[^>]*> 1626[ \t]+mvk \.L1 -16,a4 +[0-9a-f]+[02468ace] <[^>]*> 3727[ \t]+mvk \.L2 -15,b6 +[0-9a-f]+[02468ace] <[^>]*> 56a6[ \t]+mvk \.L1 -14,a5 +[0-9a-f]+[02468ace] <[^>]*> 75a7[ \t]+mvk \.L2 -13,b3 +[0-9a-f]+[02468ace] <[^>]*> 9426[ \t]+mvk \.L1 -12,a0 +[0-9a-f]+[02468ace] <[^>]*> b527[ \t]+mvk \.L2 -11,b2 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0026[ \t]+cmpeq \.L1 0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 2127[ \t]+cmpeq \.L2 1,b2,b0 +[0-9a-f]+[02468ace] <[^>]*> 42a6[ \t]+cmpeq \.L1 2,a5,a0 +[0-9a-f]+[02468ace] <[^>]*> 63a7[ \t]+cmpeq \.L2 3,b7,b0 +[0-9a-f]+[02468ace] <[^>]*> 8226[ \t]+cmpeq \.L1 4,a4,a0 +[0-9a-f]+[02468ace] <[^>]*> a127[ \t]+cmpeq \.L2 5,b2,b0 +[0-9a-f]+[02468ace] <[^>]*> c0a6[ \t]+cmpeq \.L1 6,a1,a0 +[0-9a-f]+[02468ace] <[^>]*> e1a7[ \t]+cmpeq \.L2 7,b3,b0 +[0-9a-f]+[02468ace] <[^>]*> 0226[ \t]+cmpeq \.L1 0,a4,a0 +[0-9a-f]+[02468ace] <[^>]*> 2327[ \t]+cmpeq \.L2 1,b6,b0 +[0-9a-f]+[02468ace] <[^>]*> 42a6[ \t]+cmpeq \.L1 2,a5,a0 +[0-9a-f]+[02468ace] <[^>]*> 61a7[ \t]+cmpeq \.L2 3,b3,b0 +[0-9a-f]+[02468ace] <[^>]*> 8026[ \t]+cmpeq \.L1 4,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> a127[ \t]+cmpeq \.L2 5,b2,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 1026[ \t]+cmplt \.L1 0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 3127[ \t]+cmplt \.L2 1,b2,b0 +[0-9a-f]+[02468ace] <[^>]*> 52a6[ \t]+cmpgt \.L1 0,a5,a0 +[0-9a-f]+[02468ace] <[^>]*> 73a7[ \t]+cmpgt \.L2 1,b7,b0 +[0-9a-f]+[02468ace] <[^>]*> 9226[ \t]+cmpltu \.L1 0,a4,a0 +[0-9a-f]+[02468ace] <[^>]*> b127[ \t]+cmpltu \.L2 1,b2,b0 +[0-9a-f]+[02468ace] <[^>]*> d0a6[ \t]+cmpgtu \.L1 0,a1,a0 +[0-9a-f]+[02468ace] <[^>]*> f1a7[ \t]+cmpgtu \.L2 1,b3,b0 +[0-9a-f]+[02468ace] <[^>]*> 1226[ \t]+cmplt \.L1 0,a4,a0 +[0-9a-f]+[02468ace] <[^>]*> 3327[ \t]+cmplt \.L2 1,b6,b0 +[0-9a-f]+[02468ace] <[^>]*> 52a6[ \t]+cmpgt \.L1 0,a5,a0 +[0-9a-f]+[02468ace] <[^>]*> 71a7[ \t]+cmpgt \.L2 1,b3,b0 +[0-9a-f]+[02468ace] <[^>]*> 9026[ \t]+cmpltu \.L1 0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> b127[ \t]+cmpltu \.L2 1,b2,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 5b66[ \t]+sub \.L1 0,a6,a6 +[0-9a-f]+[02468ace] <[^>]*> 5a67[ \t]+sub \.L2 0,b4,b4 +[0-9a-f]+[02468ace] <[^>]*> 59e6[ \t]+sub \.L1 0,a3,a3 +[0-9a-f]+[02468ace] <[^>]*> 58e7[ \t]+sub \.L2 0,b1,b1 +[0-9a-f]+[02468ace] <[^>]*> 5866[ \t]+sub \.L1 0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 5967[ \t]+sub \.L2 0,b2,b2 +[0-9a-f]+[02468ace] <[^>]*> 5ae6[ \t]+sub \.L1 0,a5,a5 +[0-9a-f]+[02468ace] <[^>]*> 7be7[ \t]+add \.L2 -1,b7,b7 +[0-9a-f]+[02468ace] <[^>]*> 7b66[ \t]+add \.L1 -1,a6,a6 +[0-9a-f]+[02468ace] <[^>]*> 7a67[ \t]+add \.L2 -1,b4,b4 +[0-9a-f]+[02468ace] <[^>]*> 79e6[ \t]+add \.L1 -1,a3,a3 +[0-9a-f]+[02468ace] <[^>]*> 78e7[ \t]+add \.L2 -1,b1,b1 +[0-9a-f]+[02468ace] <[^>]*> 7866[ \t]+add \.L1 -1,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 7967[ \t]+add \.L2 -1,b2,b2 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-l-unit.s b/gas/testsuite/gas/tic6x/insns16-l-unit.s new file mode 100644 index 0000000..66f5896 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-l-unit.s @@ -0,0 +1,186 @@ +; Test C64x+ L-unit compact instruction formats + .text + nop + .align 16 + nop + .align 16 +l3_nosat_l: + .short 0x0010 + .short 0x2120 + .short 0x4230 + .short 0x6340 + .short 0x8050 + .short 0xa160 + .short 0xc270 + .short 0xeb80 + .short 0x0890 + .short 0x29a0 + .short 0x4ab0 + .short 0x6bc0 + .short 0x88d0 + .short 0xa9e0 + .word 0xefe00000 +l3_sat_h: + .short 0xc2f0 + .short 0xe300 + .short 0x0010 + .short 0x2120 + .short 0x4230 + .short 0x6340 + .short 0x8050 + .short 0xa960 + .short 0xca70 + .short 0xeb80 + .short 0x0890 + .short 0x29a0 + .short 0x4ab0 + .short 0x6bc0 + .word 0xefe84000 +l3i: + .short 0x0410 + .short 0x3520 + .short 0x4630 + .short 0x7740 + .short 0x8550 + .short 0xb660 + .short 0xc770 + .short 0x1c80 + .short 0x2d90 + .short 0x5ea0 + .short 0x6fb0 + .short 0x9cc0 + .short 0xadd0 + .short 0xdee0 + .word 0xefe00000 +l2c_op_000: + .short 0x0408 + .short 0x2409 + .short 0x4418 + .short 0x6419 + .short 0x9408 + .short 0xb409 + .short 0xd418 +l2c_op_001: + .short 0xf439 + .short 0x2428 + .short 0x4429 + .short 0x6438 + .short 0x8439 + .short 0xb428 + .short 0xd429 + .word 0xefe00000 +l2c_op_010: + .short 0x0458 + .short 0x2449 + .short 0x4448 + .short 0x6459 + .short 0x9458 + .short 0xb449 + .short 0xd448 +l2c_op_011: + .short 0xf479 + .short 0x2468 + .short 0x4469 + .short 0x6478 + .short 0x8479 + .short 0xb468 + .short 0xd469 + .word 0xefe80000 +l2c_op_100: + .short 0x0c18 + .short 0x2c09 + .short 0x4c08 + .short 0x6c19 + .short 0x9c18 + .short 0xbc09 + .short 0xdc08 +l2c_op_101: + .short 0xfc39 + .short 0x2c28 + .short 0x4c29 + .short 0x6c38 + .short 0x8c39 + .short 0xbc28 + .short 0xdc29 + .word 0xefe00000 +l2c_op_110: + .short 0x0c58 + .short 0x2c49 + .short 0x4c48 + .short 0x6c59 + .short 0x9c58 + .short 0xbc49 + .short 0xdc48 +l2c_op_111: + .short 0xfc79 + .short 0x2c68 + .short 0x4c69 + .short 0x6c78 + .short 0x8c79 + .short 0xbc68 + .short 0xdc69 + .word 0xefe80000 +lx5: + .short 0x0426 + .short 0x2527 + .short 0x46a6 + .short 0x67a7 + .short 0x8626 + .short 0xa527 + .short 0xc4a6 + .short 0xf5a7 + .short 0x1626 + .short 0x3727 + .short 0x56a6 + .short 0x75a7 + .short 0x9426 + .short 0xb527 + .word 0xefe00000 +lx3c: + .short 0x0026 + .short 0x2127 + .short 0x42a6 + .short 0x63a7 + .short 0x8226 + .short 0xa127 + .short 0xc0a6 + .short 0xe1a7 + .short 0x0226 + .short 0x2327 + .short 0x42a6 + .short 0x61a7 + .short 0x8026 + .short 0xa127 + .word 0xefe00000 +lx1c: + .short 0x1026 + .short 0x3127 + .short 0x52a6 + .short 0x73a7 + .short 0x9226 + .short 0xb127 + .short 0xd0a6 + .short 0xf1a7 + .short 0x1226 + .short 0x3327 + .short 0x52a6 + .short 0x71a7 + .short 0x9026 + .short 0xb127 + .word 0xefe00000 +lx1: + .short 0x5b66 + .short 0x5a67 + .short 0x59e6 + .short 0x58e7 + .short 0x5866 + .short 0x5967 + .short 0x5ae6 + .short 0x7be7 + .short 0x7b66 + .short 0x7a67 + .short 0x79e6 + .short 0x78e7 + .short 0x7866 + .short 0x7967 + .word 0xefe00000 diff --git a/gas/testsuite/gas/tic6x/insns16-lsd-unit.d b/gas/testsuite/gas/tic6x/insns16-lsd-unit.d new file mode 100644 index 0000000..07b20e4 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-lsd-unit.d @@ -0,0 +1,70 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 0006[ \t]+mv \.L1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 000f[ \t]+mv \.S2 b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 0016[ \t]+mv \.D1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0017[ \t]+mv \.D2 b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 000e[ \t]+mv \.S1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0007[ \t]+mv \.L2 b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 0006[ \t]+mv \.L1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 100f[ \t]+mv \.S2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1016[ \t]+mv \.D1X b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1017[ \t]+mv \.D2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 100e[ \t]+mv \.S1X b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1007[ \t]+mv \.L2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1006[ \t]+mv \.L1X b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 100f[ \t]+mv \.S2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0046[ \t]+mv \.L1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 004f[ \t]+mv \.S2 b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 0056[ \t]+mv \.D1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0057[ \t]+mv \.D2 b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 004e[ \t]+mv \.S1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 0047[ \t]+mv \.L2 b0,b0 +[0-9a-f]+[02468ace] <[^>]*> 0046[ \t]+mv \.L1 a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 104f[ \t]+mv \.S2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1056[ \t]+mv \.D1X b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1057[ \t]+mv \.D2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 104e[ \t]+mv \.S1X b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1047[ \t]+mv \.L2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1046[ \t]+mv \.L1X b0,a0 +[0-9a-f]+[02468ace] <[^>]*> 104f[ \t]+mv \.S2X a0,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0866[ \t]+\[a0\] mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 4967[ \t]+\[!a0\] mvk \.L2 0,b2 +[0-9a-f]+[02468ace] <[^>]*> 8ae6[ \t]+\[b0\] mvk \.L1 0,a5 +[0-9a-f]+[02468ace] <[^>]*> cbe7[ \t]+\[!b0\] mvk \.L2 0,b7 +[0-9a-f]+[02468ace] <[^>]*> 886e[ \t]+\[b0\] mvk \.S1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 496f[ \t]+\[!a0\] mvk \.S2 0,b2 +[0-9a-f]+[02468ace] <[^>]*> 0aee[ \t]+\[a0\] mvk \.S1 0,a5 +[0-9a-f]+[02468ace] <[^>]*> 6bef[ \t]+\[!a0\] mvk \.S2 1,b7 +[0-9a-f]+[02468ace] <[^>]*> a876[ \t]+\[b0\] mvk \.D1 1,a0 +[0-9a-f]+[02468ace] <[^>]*> e977[ \t]+\[!b0\] mvk \.D2 1,b2 +[0-9a-f]+[02468ace] <[^>]*> aaf6[ \t]+\[b0\] mvk \.D1 1,a5 +[0-9a-f]+[02468ace] <[^>]*> 6bf7[ \t]+\[!a0\] mvk \.D2 1,b7 +[0-9a-f]+[02468ace] <[^>]*> 2866[ \t]+\[a0\] mvk \.L1 1,a0 +[0-9a-f]+[02468ace] <[^>]*> 6967[ \t]+\[!a0\] mvk \.L2 1,b2 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> 1866[ \t]+mvk \.L1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1867[ \t]+mvk \.L2 0,b0 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-lsd-unit.s b/gas/testsuite/gas/tic6x/insns16-lsd-unit.s new file mode 100644 index 0000000..8e93d04 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-lsd-unit.s @@ -0,0 +1,71 @@ +; Test C64x+ L, S or D-unit compact instruction formats + .text + nop + .align 16 + nop + .align 16 +lsdmvto: + .short 0x0006 + .short 0x000f + .short 0x0016 + .short 0x0017 + .short 0x000e + .short 0x0007 + .short 0x0006 + .short 0x100f + .short 0x1016 + .short 0x1017 + .short 0x100e + .short 0x1007 + .short 0x1006 + .short 0x100f + .word 0xefe00000 | 0x0000 +lsdmvfr: + .short 0x0046 + .short 0x004f + .short 0x0056 + .short 0x0057 + .short 0x004e + .short 0x0047 + .short 0x0046 + .short 0x104f + .short 0x1056 + .short 0x1057 + .short 0x104e + .short 0x1047 + .short 0x1046 + .short 0x104f + .word 0xefe00000 | 0x0000 +lsdx1c: + .short 0x0866 + .short 0x4967 + .short 0x8ae6 + .short 0xcbe7 + .short 0x886e + .short 0x496f + .short 0x0aee + .short 0x6bef + .short 0xa876 + .short 0xe977 + .short 0xaaf6 + .short 0x6bf7 + .short 0x2866 + .short 0x6967 + .word 0xefe00000 | 0x0000 +lsdx1: + .short 0x1866 + .short 0x1867 + .short 0x1866 + .short 0x1867 + .short 0x1866 + .short 0x1867 + .short 0x1866 + .short 0x1867 + .short 0x1866 + .short 0x1867 + .short 0x1866 + .short 0x1867 + .short 0x1866 + .short 0x1867 + .word 0xefe00000 | 0x0000 + diff --git a/gas/testsuite/gas/tic6x/insns16-m-unit.d b/gas/testsuite/gas/tic6x/insns16-m-unit.d new file mode 100644 index 0000000..38809ef --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-m-unit.d @@ -0,0 +1,70 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 231e[ \t]+mpy \.M1 a1,a6,a0 +[0-9a-f]+[02468ace] <[^>]*> 469f[ \t]+mpy \.M2 b2,b5,b2 +[0-9a-f]+[02468ace] <[^>]*> 799e[ \t]+mpy \.M1X a3,b3,a4 +[0-9a-f]+[02468ace] <[^>]*> 9c1f[ \t]+mpy \.M2X b4,a0,b6 +[0-9a-f]+[02468ace] <[^>]*> a71e[ \t]+mpy \.M1 a5,a6,a2 +[0-9a-f]+[02468ace] <[^>]*> ca9f[ \t]+mpy \.M2 b6,b5,b4 +[0-9a-f]+[02468ace] <[^>]*> fd9e[ \t]+mpy \.M1X a7,b3,a6 +[0-9a-f]+[02468ace] <[^>]*> 213e[ \t]+mpyh \.M1 a1,a2,a0 +[0-9a-f]+[02468ace] <[^>]*> 46bf[ \t]+mpyh \.M2 b2,b5,b2 +[0-9a-f]+[02468ace] <[^>]*> 7bbe[ \t]+mpyh \.M1X a3,b7,a4 +[0-9a-f]+[02468ace] <[^>]*> 9c3f[ \t]+mpyh \.M2X b4,a0,b6 +[0-9a-f]+[02468ace] <[^>]*> a53e[ \t]+mpyh \.M1 a5,a2,a2 +[0-9a-f]+[02468ace] <[^>]*> cabf[ \t]+mpyh \.M2 b6,b5,b4 +[0-9a-f]+[02468ace] <[^>]*> ffbe[ \t]+mpyh \.M1X a7,b7,a6 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 225e[ \t]+mpylh \.M1 a17,a20,a16 +[0-9a-f]+[02468ace] <[^>]*> 47df[ \t]+mpylh \.M2 b18,b23,b18 +[0-9a-f]+[02468ace] <[^>]*> 78de[ \t]+mpylh \.M1X a19,b17,a20 +[0-9a-f]+[02468ace] <[^>]*> 9d5f[ \t]+mpylh \.M2X b20,a18,b22 +[0-9a-f]+[02468ace] <[^>]*> a6de[ \t]+mpylh \.M1 a21,a21,a18 +[0-9a-f]+[02468ace] <[^>]*> cbdf[ \t]+mpylh \.M2 b22,b23,b20 +[0-9a-f]+[02468ace] <[^>]*> fc5e[ \t]+mpylh \.M1X a23,b16,a22 +[0-9a-f]+[02468ace] <[^>]*> 207e[ \t]+mpyhl \.M1 a17,a16,a16 +[0-9a-f]+[02468ace] <[^>]*> 45ff[ \t]+mpyhl \.M2 b18,b19,b18 +[0-9a-f]+[02468ace] <[^>]*> 7afe[ \t]+mpyhl \.M1X a19,b21,a20 +[0-9a-f]+[02468ace] <[^>]*> 9f7f[ \t]+mpyhl \.M2X b20,a22,b22 +[0-9a-f]+[02468ace] <[^>]*> a47e[ \t]+mpyhl \.M1 a21,a16,a18 +[0-9a-f]+[02468ace] <[^>]*> c9ff[ \t]+mpyhl \.M2 b22,b19,b20 +[0-9a-f]+[02468ace] <[^>]*> fefe[ \t]+mpyhl \.M1X a23,b21,a22 +[0-9a-f]+[02468ace] <[^>]*> efe80000[ \t]+<fetch packet header 0xefe80000> +[0-9a-f]+[02468ace] <[^>]*> 231e[ \t]+smpy \.M1 a17,a22,a16 +[0-9a-f]+[02468ace] <[^>]*> 469f[ \t]+smpy \.M2 b18,b21,b18 +[0-9a-f]+[02468ace] <[^>]*> 799e[ \t]+smpy \.M1X a19,b19,a20 +[0-9a-f]+[02468ace] <[^>]*> 9c1f[ \t]+smpy \.M2X b20,a16,b22 +[0-9a-f]+[02468ace] <[^>]*> a71e[ \t]+smpy \.M1 a21,a22,a18 +[0-9a-f]+[02468ace] <[^>]*> ca9f[ \t]+smpy \.M2 b22,b21,b20 +[0-9a-f]+[02468ace] <[^>]*> fd9e[ \t]+smpy \.M1X a23,b19,a22 +[0-9a-f]+[02468ace] <[^>]*> 213e[ \t]+smpyh \.M1 a17,a18,a16 +[0-9a-f]+[02468ace] <[^>]*> 46bf[ \t]+smpyh \.M2 b18,b21,b18 +[0-9a-f]+[02468ace] <[^>]*> 7bbe[ \t]+smpyh \.M1X a19,b23,a20 +[0-9a-f]+[02468ace] <[^>]*> 9c3f[ \t]+smpyh \.M2X b20,a16,b22 +[0-9a-f]+[02468ace] <[^>]*> a53e[ \t]+smpyh \.M1 a21,a18,a18 +[0-9a-f]+[02468ace] <[^>]*> cabf[ \t]+smpyh \.M2 b22,b21,b20 +[0-9a-f]+[02468ace] <[^>]*> ffbe[ \t]+smpyh \.M1X a23,b23,a22 +[0-9a-f]+[02468ace] <[^>]*> efe84000[ \t]+<fetch packet header 0xefe84000> +[0-9a-f]+[02468ace] <[^>]*> 225e[ \t]+smpylh \.M1 a1,a4,a0 +[0-9a-f]+[02468ace] <[^>]*> 47df[ \t]+smpylh \.M2 b2,b7,b2 +[0-9a-f]+[02468ace] <[^>]*> 78de[ \t]+smpylh \.M1X a3,b1,a4 +[0-9a-f]+[02468ace] <[^>]*> 9d5f[ \t]+smpylh \.M2X b4,a2,b6 +[0-9a-f]+[02468ace] <[^>]*> a6de[ \t]+smpylh \.M1 a5,a5,a2 +[0-9a-f]+[02468ace] <[^>]*> cbdf[ \t]+smpylh \.M2 b6,b7,b4 +[0-9a-f]+[02468ace] <[^>]*> fc5e[ \t]+smpylh \.M1X a7,b0,a6 +[0-9a-f]+[02468ace] <[^>]*> 207e[ \t]+smpyhl \.M1 a1,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 45ff[ \t]+smpyhl \.M2 b2,b3,b2 +[0-9a-f]+[02468ace] <[^>]*> 7afe[ \t]+smpyhl \.M1X a3,b5,a4 +[0-9a-f]+[02468ace] <[^>]*> 9f7f[ \t]+smpyhl \.M2X b4,a6,b6 +[0-9a-f]+[02468ace] <[^>]*> a47e[ \t]+smpyhl \.M1 a5,a0,a2 +[0-9a-f]+[02468ace] <[^>]*> c9ff[ \t]+smpyhl \.M2 b6,b3,b4 +[0-9a-f]+[02468ace] <[^>]*> fefe[ \t]+smpyhl \.M1X a7,b5,a6 +[0-9a-f]+[02468ace] <[^>]*> efe04000[ \t]+<fetch packet header 0xefe04000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-m-unit.s b/gas/testsuite/gas/tic6x/insns16-m-unit.s new file mode 100644 index 0000000..73ae7d1 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-m-unit.s @@ -0,0 +1,74 @@ +; Test C64x+ M-unit compact instruction formats + .text + nop + .align 16 + nop + .align 16 +m3_op_00: + .short 0x231e + .short 0x469f + .short 0x799e + .short 0x9c1f + .short 0xa71e + .short 0xca9f + .short 0xfd9e +m3_op_01: + .short 0x213e + .short 0x46bf + .short 0x7bbe + .short 0x9c3f + .short 0xa53e + .short 0xcabf + .short 0xffbe + .word 0xefe00000 +m3_op_10: + .short 0x225e + .short 0x47df + .short 0x78de + .short 0x9d5f + .short 0xa6de + .short 0xcbdf + .short 0xfc5e +m3_op_11: + .short 0x207e + .short 0x45ff + .short 0x7afe + .short 0x9f7f + .short 0xa47e + .short 0xc9ff + .short 0xfefe + .word 0xefe80000 +m3_op_00_sat: + .short 0x231e + .short 0x469f + .short 0x799e + .short 0x9c1f + .short 0xa71e + .short 0xca9f + .short 0xfd9e +m3_op_01_sat: + .short 0x213e + .short 0x46bf + .short 0x7bbe + .short 0x9c3f + .short 0xa53e + .short 0xcabf + .short 0xffbe + .word 0xefe84000 +m3_op_10_sat: + .short 0x225e + .short 0x47df + .short 0x78de + .short 0x9d5f + .short 0xa6de + .short 0xcbdf + .short 0xfc5e +m3_op_11_sat: + .short 0x207e + .short 0x45ff + .short 0x7afe + .short 0x9f7f + .short 0xa47e + .short 0xc9ff + .short 0xfefe + .word 0xefe04000 diff --git a/gas/testsuite/gas/tic6x/insns16-s-unit-pcrel.d b/gas/testsuite/gas/tic6x/insns16-s-unit-pcrel.d new file mode 100644 index 0000000..7f4daea --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-s-unit-pcrel.d @@ -0,0 +1,85 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 000a[ \t]+bnop \.S1 [0-9a-f]{8} <[^>]*>,0 +[0-9a-f]+[02468ace] <[^>]*> 004a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x2>,0 +[0-9a-f]+[02468ace] <[^>]*> 214b[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0xa>,1 +[0-9a-f]+[02468ace] <[^>]*> 428a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x14>,2 +[0-9a-f]+[02468ace] <[^>]*> 63cb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0x1e>,3 +[0-9a-f]+[02468ace] <[^>]*> 840a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*>,4 +[0-9a-f]+[02468ace] <[^>]*> a54b[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0xa>,5 +[0-9a-f]+[02468ace] <[^>]*> 868a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x14>,4 +[0-9a-f]+[02468ace] <[^>]*> 77cb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*-0x42>,3 +[0-9a-f]+[02468ace] <[^>]*> 580a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*-0x40>,2 +[0-9a-f]+[02468ace] <[^>]*> 394b[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*-0x36>,1 +[0-9a-f]+[02468ace] <[^>]*> 1a8a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*-0x2c>,0 +[0-9a-f]+[02468ace] <[^>]*> 3bcb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*-0x22>,1 +[0-9a-f]+[02468ace] <[^>]*> 5c0a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*-0x20>,2 +[0-9a-f]+[02468ace] <[^>]*> efe08000[ \t]+<fetch packet header 0xefe08000> +[0-9a-f]+[02468ace] <[^>]*> caca[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x16>,5 +[0-9a-f]+[02468ace] <[^>]*> e7cb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0xde>,5 +[0-9a-f]+[02468ace] <[^>]*> f84a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x162>,5 +[0-9a-f]+[02468ace] <[^>]*> cacb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0x16>,5 +[0-9a-f]+[02468ace] <[^>]*> d84a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x62>,5 +[0-9a-f]+[02468ace] <[^>]*> f18b[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0x12c>,5 +[0-9a-f]+[02468ace] <[^>]*> e84a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0xe2>,5 +[0-9a-f]+[02468ace] <[^>]*> d10b[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0x28>,5 +[0-9a-f]+[02468ace] <[^>]*> c74a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x1a>,5 +[0-9a-f]+[02468ace] <[^>]*> eacb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0xf6>,5 +[0-9a-f]+[02468ace] <[^>]*> d18a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x2c>,5 +[0-9a-f]+[02468ace] <[^>]*> ea4b[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0xf2>,5 +[0-9a-f]+[02468ace] <[^>]*> da4a[ \t]+bnop \.S1 [0-9a-f]{8} <[^+]*\+0x72>,5 +[0-9a-f]+[02468ace] <[^>]*> d7cb[ \t]+bnop \.S2 [0-9a-f]{8} <[^+]*\+0x5e>,5 +[0-9a-f]+[02468ace] <[^>]*> efe08000[ \t]+<fetch packet header 0xefe08000> +[0-9a-f]+[02468ace] <[^>]*> 0f1a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*\+0xb0>,a3 +[0-9a-f]+[02468ace] <[^>]*> 1e5b[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*\+0x1a4>,b3 +[0-9a-f]+[02468ace] <[^>]*> 2d9a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*\+0x298>,a3 +[0-9a-f]+[02468ace] <[^>]*> 3cdb[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*\+0x38c>,b3 +[0-9a-f]+[02468ace] <[^>]*> 4b9a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*\+0x478>,a3 +[0-9a-f]+[02468ace] <[^>]*> 5a5b[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*\+0x564>,b3 +[0-9a-f]+[02468ace] <[^>]*> 691a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*\+0x650>,a3 +[0-9a-f]+[02468ace] <[^>]*> 785b[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*\+0x744>,b3 +[0-9a-f]+[02468ace] <[^>]*> 879a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*-0x748>,a3 +[0-9a-f]+[02468ace] <[^>]*> 96db[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*-0x654>,b3 +[0-9a-f]+[02468ace] <[^>]*> a59a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*-0x568>,a3 +[0-9a-f]+[02468ace] <[^>]*> b45b[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*-0x47c>,b3 +[0-9a-f]+[02468ace] <[^>]*> c31a[ \t]+callp \.S1 [0-9a-f]{8} <[^+]*-0x390>,a3 +[0-9a-f]+[02468ace] <[^>]*> d2db[ \t]+callp \.S2 [0-9a-f]{8} <[^+]*-0x294>,b3 +[0-9a-f]+[02468ace] <[^>]*> efe08000[ \t]+<fetch packet header 0xefe08000> +[0-9a-f]+[02468ace] <[^>]*> 002a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*>,0 +[0-9a-f]+[02468ace] <[^>]*> 216b[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0xa>,1 +[0-9a-f]+[02468ace] <[^>]*> 427b[ \t]+\[!b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x12>,2 +[0-9a-f]+[02468ace] <[^>]*> 637a[ \t]+\[!a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x1a>,3 +[0-9a-f]+[02468ace] <[^>]*> 846b[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x2>,4 +[0-9a-f]+[02468ace] <[^>]*> a52a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x8>,5 +[0-9a-f]+[02468ace] <[^>]*> 06bb[ \t]+\[!b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x14>,0 +[0-9a-f]+[02468ace] <[^>]*> 07ba[ \t]+\[!a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x1c>,0 +[0-9a-f]+[02468ace] <[^>]*> 38ab[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x4>,1 +[0-9a-f]+[02468ace] <[^>]*> 592a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x8>,2 +[0-9a-f]+[02468ace] <[^>]*> 7afb[ \t]+\[!b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x16>,3 +[0-9a-f]+[02468ace] <[^>]*> 9bfa[ \t]+\[!a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x1e>,4 +[0-9a-f]+[02468ace] <[^>]*> bceb[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x6>,5 +[0-9a-f]+[02468ace] <[^>]*> 0f2a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x58>,0 +[0-9a-f]+[02468ace] <[^>]*> efe08000[ \t]+<fetch packet header 0xefe08000> +[0-9a-f]+[02468ace] <[^>]*> c02a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*>,5 +[0-9a-f]+[02468ace] <[^>]*> d16b[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x8a>,5 +[0-9a-f]+[02468ace] <[^>]*> d27b[ \t]+\[!b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x92>,5 +[0-9a-f]+[02468ace] <[^>]*> d37a[ \t]+\[!a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x9a>,5 +[0-9a-f]+[02468ace] <[^>]*> c46b[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x22>,5 +[0-9a-f]+[02468ace] <[^>]*> e52a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x128>,5 +[0-9a-f]+[02468ace] <[^>]*> e6bb[ \t]+\[!b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x134>,5 +[0-9a-f]+[02468ace] <[^>]*> e7ba[ \t]+\[!a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x13c>,5 +[0-9a-f]+[02468ace] <[^>]*> c8ab[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x44>,5 +[0-9a-f]+[02468ace] <[^>]*> f92a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x1c8>,5 +[0-9a-f]+[02468ace] <[^>]*> fafb[ \t]+\[!b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x1d6>,5 +[0-9a-f]+[02468ace] <[^>]*> fbfa[ \t]+\[!a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x1de>,5 +[0-9a-f]+[02468ace] <[^>]*> cceb[ \t]+\[b0\] bnop \.S2 [0-9a-f]{8} <[^+]*\+0x66>,5 +[0-9a-f]+[02468ace] <[^>]*> cf2a[ \t]+\[a0\] bnop \.S1 [0-9a-f]{8} <[^+]*\+0x78>,5 +[0-9a-f]+[02468ace] <[^>]*> efe08000[ \t]+<fetch packet header 0xefe08000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-s-unit-pcrel.s b/gas/testsuite/gas/tic6x/insns16-s-unit-pcrel.s new file mode 100644 index 0000000..63a6419 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-s-unit-pcrel.s @@ -0,0 +1,86 @@ +; Test C64x+ S-unit pcrel compact instruction formats + .text + nop + .align 16 + nop + .align 16 +sbs7: + .short 0x000a + .short 0x004a + .short 0x214b + .short 0x428a + .short 0x63cb + .short 0x840a + .short 0xa54b + .short 0x868a + .short 0x77cb + .short 0x580a + .short 0x394b + .short 0x1a8a + .short 0x3bcb + .short 0x5c0a + .word 0xefe00000 | 0x8000 +sbu8: + .short 0xcaca + .short 0xe7cb + .short 0xf84a + .short 0xcacb + .short 0xd84a + .short 0xf18b + .short 0xe84a + .short 0xd10b + .short 0xc74a + .short 0xeacb + .short 0xd18a + .short 0xea4b + .short 0xda4a + .short 0xd7cb + .word 0xefe00000 | 0x8000 +scs10: + .short 0x0f1a + .short 0x1e5b + .short 0x2d9a + .short 0x3cdb + .short 0x4b9a + .short 0x5a5b + .short 0x691a + .short 0x785b + .short 0x879a + .short 0x96db + .short 0xa59a + .short 0xb45b + .short 0xc31a + .short 0xd2db + .word 0xefe00000 | 0x8000 +sbs7c: + .short 0x002a + .short 0x216b + .short 0x427b + .short 0x637a + .short 0x846b + .short 0xa52a + .short 0x06bb + .short 0x07ba + .short 0x38ab + .short 0x592a + .short 0x7afb + .short 0x9bfa + .short 0xbceb + .short 0x0f2a + .word 0xefe00000 | 0x8000 +sbu8c: + .short 0xc02a + .short 0xd16b + .short 0xd27b + .short 0xd37a + .short 0xc46b + .short 0xe52a + .short 0xe6bb + .short 0xe7ba + .short 0xc8ab + .short 0xf92a + .short 0xfafb + .short 0xfbfa + .short 0xcceb + .short 0xcf2a + .word 0xefe00000 | 0x8000 diff --git a/gas/testsuite/gas/tic6x/insns16-s-unit.d b/gas/testsuite/gas/tic6x/insns16-s-unit.d new file mode 100644 index 0000000..a997913 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-s-unit.d @@ -0,0 +1,235 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: +#as: -march=c64x+ -mlittle-endian + +.*: *file format elf32-tic6x-le + + +Disassembly of section .text: +[ \t]*\.\.\. +[0-9a-f]+[02468ace] <[^>]*> 000a[ \t]+add \.S1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 201b[ \t]+add \.S2 b1,b0,b1 +[0-9a-f]+[02468ace] <[^>]*> 512a[ \t]+add \.S1X a2,b2,a2 +[0-9a-f]+[02468ace] <[^>]*> 713b[ \t]+add \.S2X b3,a2,b3 +[0-9a-f]+[02468ace] <[^>]*> 824a[ \t]+add \.S1 a4,a4,a4 +[0-9a-f]+[02468ace] <[^>]*> a25b[ \t]+add \.S2 b5,b4,b5 +[0-9a-f]+[02468ace] <[^>]*> d36a[ \t]+add \.S1X a6,b6,a6 +[0-9a-f]+[02468ace] <[^>]*> f37b[ \t]+add \.S2X b7,a6,b7 +[0-9a-f]+[02468ace] <[^>]*> e28a[ \t]+add \.S1 a7,a5,a0 +[0-9a-f]+[02468ace] <[^>]*> 0a9b[ \t]+sub \.S2 b0,b5,b1 +[0-9a-f]+[02468ace] <[^>]*> 39aa[ \t]+sub \.S1X a1,b3,a2 +[0-9a-f]+[02468ace] <[^>]*> 59bb[ \t]+sub \.S2X b2,a3,b3 +[0-9a-f]+[02468ace] <[^>]*> 68ca[ \t]+sub \.S1 a3,a1,a4 +[0-9a-f]+[02468ace] <[^>]*> 88db[ \t]+sub \.S2 b4,b1,b5 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 21ea[ \t]+sadd \.S1 a1,a3,a6 +[0-9a-f]+[02468ace] <[^>]*> 41fb[ \t]+sadd \.S2 b2,b3,b7 +[0-9a-f]+[02468ace] <[^>]*> 720a[ \t]+sadd \.S1X a3,b4,a0 +[0-9a-f]+[02468ace] <[^>]*> 921b[ \t]+sadd \.S2X b4,a4,b1 +[0-9a-f]+[02468ace] <[^>]*> c32a[ \t]+sadd \.S1 a6,a6,a2 +[0-9a-f]+[02468ace] <[^>]*> e33b[ \t]+sadd \.S2 b7,b6,b3 +[0-9a-f]+[02468ace] <[^>]*> f24a[ \t]+sadd \.S1X a7,b4,a4 +[0-9a-f]+[02468ace] <[^>]*> b25b[ \t]+sadd \.S2X b5,a4,b5 +[0-9a-f]+[02468ace] <[^>]*> 816a[ \t]+sadd \.S1 a4,a2,a6 +[0-9a-f]+[02468ace] <[^>]*> a87b[ \t]+sub \.S2 b5,b0,b7 +[0-9a-f]+[02468ace] <[^>]*> d88a[ \t]+sub \.S1X a6,b1,a0 +[0-9a-f]+[02468ace] <[^>]*> fa9b[ \t]+sub \.S2X b7,a5,b1 +[0-9a-f]+[02468ace] <[^>]*> eaaa[ \t]+sub \.S1 a7,a5,a2 +[0-9a-f]+[02468ace] <[^>]*> 7bbb[ \t]+sub \.S2X b3,a7,b3 +[0-9a-f]+[02468ace] <[^>]*> efe04000[ \t]+<fetch packet header 0xefe04000> +[0-9a-f]+[02468ace] <[^>]*> 040a[ \t]+shl \.S1 a0,16,a0 +[0-9a-f]+[02468ace] <[^>]*> 251b[ \t]+shl \.S2 b2,1,b1 +[0-9a-f]+[02468ace] <[^>]*> 362a[ \t]+shl \.S1X b4,1,a2 +[0-9a-f]+[02468ace] <[^>]*> 573b[ \t]+shl \.S2X a6,2,b3 +[0-9a-f]+[02468ace] <[^>]*> 444a[ \t]+shl \.S1 a0,2,a4 +[0-9a-f]+[02468ace] <[^>]*> 655b[ \t]+shl \.S2 b2,3,b5 +[0-9a-f]+[02468ace] <[^>]*> 766a[ \t]+shl \.S1X b4,3,a6 +[0-9a-f]+[02468ace] <[^>]*> 9ffb[ \t]+shr \.S2X a7,4,b7 +[0-9a-f]+[02468ace] <[^>]*> 8cea[ \t]+shr \.S1 a1,4,a6 +[0-9a-f]+[02468ace] <[^>]*> addb[ \t]+shr \.S2 b3,5,b5 +[0-9a-f]+[02468ace] <[^>]*> beca[ \t]+shr \.S1X b5,5,a4 +[0-9a-f]+[02468ace] <[^>]*> dfbb[ \t]+shr \.S2X a7,6,b3 +[0-9a-f]+[02468ace] <[^>]*> ccaa[ \t]+shr \.S1 a1,6,a2 +[0-9a-f]+[02468ace] <[^>]*> ed9b[ \t]+shr \.S2 b3,8,b1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0012[ \t]+mvk \.S1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1113[ \t]+mvk \.S2 16,b2 +[0-9a-f]+[02468ace] <[^>]*> 2232[ \t]+mvk \.S1 33,a4 +[0-9a-f]+[02468ace] <[^>]*> 3333[ \t]+mvk \.S2 49,b6 +[0-9a-f]+[02468ace] <[^>]*> 4752[ \t]+mvk \.S1 194,a6 +[0-9a-f]+[02468ace] <[^>]*> 5653[ \t]+mvk \.S2 210,b4 +[0-9a-f]+[02468ace] <[^>]*> 6572[ \t]+mvk \.S1 227,a2 +[0-9a-f]+[02468ace] <[^>]*> 78f3[ \t]+mvk \.S2 123,b1 +[0-9a-f]+[02468ace] <[^>]*> 8992[ \t]+mvk \.S1 12,a3 +[0-9a-f]+[02468ace] <[^>]*> 9a93[ \t]+mvk \.S2 28,b5 +[0-9a-f]+[02468ace] <[^>]*> abb2[ \t]+mvk \.S1 45,a7 +[0-9a-f]+[02468ace] <[^>]*> bed2[ \t]+mvk \.S1 221,a5 +[0-9a-f]+[02468ace] <[^>]*> cdf3[ \t]+mvk \.S2 238,b3 +[0-9a-f]+[02468ace] <[^>]*> fc92[ \t]+mvk \.S1 159,a1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0402[ \t]+shl \.S1 a0,0,a0 +[0-9a-f]+[02468ace] <[^>]*> 1503[ \t]+shl \.S2 b2,16,b2 +[0-9a-f]+[02468ace] <[^>]*> 2682[ \t]+shl \.S1 a5,1,a5 +[0-9a-f]+[02468ace] <[^>]*> 3783[ \t]+shl \.S2 b7,17,b7 +[0-9a-f]+[02468ace] <[^>]*> 4c22[ \t]+shr \.S1 a0,10,a0 +[0-9a-f]+[02468ace] <[^>]*> 5d23[ \t]+shr \.S2 b2,26,b2 +[0-9a-f]+[02468ace] <[^>]*> 6ea2[ \t]+shr \.S1 a5,11,a5 +[0-9a-f]+[02468ace] <[^>]*> 7fa3[ \t]+shr \.S2 b7,27,b7 +[0-9a-f]+[02468ace] <[^>]*> 8442[ \t]+shru \.S1 a0,4,a0 +[0-9a-f]+[02468ace] <[^>]*> 9543[ \t]+shru \.S2 b2,20,b2 +[0-9a-f]+[02468ace] <[^>]*> a6c2[ \t]+shru \.S1 a5,5,a5 +[0-9a-f]+[02468ace] <[^>]*> b7c3[ \t]+shru \.S2 b7,21,b7 +[0-9a-f]+[02468ace] <[^>]*> cc42[ \t]+shru \.S1 a0,14,a0 +[0-9a-f]+[02468ace] <[^>]*> dd43[ \t]+shru \.S2 b2,30,b2 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> ec02[ \t]+shl \.S1 a0,15,a0 +[0-9a-f]+[02468ace] <[^>]*> fd03[ \t]+shl \.S2 b2,31,b2 +[0-9a-f]+[02468ace] <[^>]*> e682[ \t]+shl \.S1 a5,7,a5 +[0-9a-f]+[02468ace] <[^>]*> d783[ \t]+shl \.S2 b7,22,b7 +[0-9a-f]+[02468ace] <[^>]*> c422[ \t]+shr \.S1 a0,6,a0 +[0-9a-f]+[02468ace] <[^>]*> b523[ \t]+shr \.S2 b2,21,b2 +[0-9a-f]+[02468ace] <[^>]*> aea2[ \t]+shr \.S1 a5,13,a5 +[0-9a-f]+[02468ace] <[^>]*> 9fa3[ \t]+shr \.S2 b7,28,b7 +[0-9a-f]+[02468ace] <[^>]*> 8c42[ \t]+sshl \.S1 a0,12,a0 +[0-9a-f]+[02468ace] <[^>]*> 7d43[ \t]+sshl \.S2 b2,27,b2 +[0-9a-f]+[02468ace] <[^>]*> 66c2[ \t]+sshl \.S1 a5,3,a5 +[0-9a-f]+[02468ace] <[^>]*> 57c3[ \t]+sshl \.S2 b7,18,b7 +[0-9a-f]+[02468ace] <[^>]*> 4442[ \t]+sshl \.S1 a0,2,a0 +[0-9a-f]+[02468ace] <[^>]*> 3543[ \t]+sshl \.S2 b2,17,b2 +[0-9a-f]+[02468ace] <[^>]*> efe04000[ \t]+<fetch packet header 0xefe04000> +[0-9a-f]+[02468ace] <[^>]*> 0462[ \t]+shl \.S1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 2563[ \t]+shl \.S2 b2,b1,b2 +[0-9a-f]+[02468ace] <[^>]*> 4662[ \t]+shl \.S1 a4,a2,a4 +[0-9a-f]+[02468ace] <[^>]*> 6f63[ \t]+shr \.S2 b6,b3,b6 +[0-9a-f]+[02468ace] <[^>]*> 8c62[ \t]+shr \.S1 a0,a4,a0 +[0-9a-f]+[02468ace] <[^>]*> ad63[ \t]+shr \.S2 b2,b5,b2 +[0-9a-f]+[02468ace] <[^>]*> ce62[ \t]+shr \.S1 a4,a6,a4 +[0-9a-f]+[02468ace] <[^>]*> f7e3[ \t]+shru \.S2 b7,b7,b7 +[0-9a-f]+[02468ace] <[^>]*> d4e2[ \t]+shru \.S1 a1,a6,a1 +[0-9a-f]+[02468ace] <[^>]*> b5e3[ \t]+shru \.S2 b3,b5,b3 +[0-9a-f]+[02468ace] <[^>]*> 96e2[ \t]+shru \.S1 a5,a4,a5 +[0-9a-f]+[02468ace] <[^>]*> 7fe3[ \t]+sshl \.S2 b7,b3,b7 +[0-9a-f]+[02468ace] <[^>]*> 5ce2[ \t]+sshl \.S1 a1,a2,a1 +[0-9a-f]+[02468ace] <[^>]*> 3de3[ \t]+sshl \.S2 b3,b1,b3 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0002[ \t]+extu \.S1 a0,0,31,a0 +[0-9a-f]+[02468ace] <[^>]*> 1103[ \t]+extu \.S2 b2,16,31,b0 +[0-9a-f]+[02468ace] <[^>]*> 2202[ \t]+extu \.S1 a4,1,31,a0 +[0-9a-f]+[02468ace] <[^>]*> 3303[ \t]+extu \.S2 b6,17,31,b0 +[0-9a-f]+[02468ace] <[^>]*> 4a22[ \t]+set \.S1 a4,10,10,a4 +[0-9a-f]+[02468ace] <[^>]*> 5923[ \t]+set \.S2 b2,26,26,b2 +[0-9a-f]+[02468ace] <[^>]*> 6822[ \t]+set \.S1 a0,11,11,a0 +[0-9a-f]+[02468ace] <[^>]*> 71a3[ \t]+set \.S2 b3,19,19,b3 +[0-9a-f]+[02468ace] <[^>]*> 82a2[ \t]+set \.S1 a5,4,4,a5 +[0-9a-f]+[02468ace] <[^>]*> 93c3[ \t]+clr \.S2 b7,20,20,b7 +[0-9a-f]+[02468ace] <[^>]*> a2c2[ \t]+clr \.S1 a5,5,5,a5 +[0-9a-f]+[02468ace] <[^>]*> b9c3[ \t]+clr \.S2 b3,29,29,b3 +[0-9a-f]+[02468ace] <[^>]*> c8c2[ \t]+clr \.S1 a1,14,14,a1 +[0-9a-f]+[02468ace] <[^>]*> f9c3[ \t]+clr \.S2 b3,31,31,b3 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 0062[ \t]+ext \.S1 a0,16,16,a0 +[0-9a-f]+[02468ace] <[^>]*> 2163[ \t]+ext \.S2 b2,16,16,b1 +[0-9a-f]+[02468ace] <[^>]*> 4262[ \t]+ext \.S1 a4,16,16,a2 +[0-9a-f]+[02468ace] <[^>]*> 6b63[ \t]+ext \.S2 b6,24,24,b3 +[0-9a-f]+[02468ace] <[^>]*> 8862[ \t]+ext \.S1 a0,24,24,a4 +[0-9a-f]+[02468ace] <[^>]*> a963[ \t]+ext \.S2 b2,24,24,b5 +[0-9a-f]+[02468ace] <[^>]*> ca62[ \t]+ext \.S1 a4,24,24,a6 +[0-9a-f]+[02468ace] <[^>]*> f3e3[ \t]+extu \.S2 b7,16,16,b7 +[0-9a-f]+[02468ace] <[^>]*> d0e2[ \t]+extu \.S1 a1,16,16,a6 +[0-9a-f]+[02468ace] <[^>]*> b1e3[ \t]+extu \.S2 b3,16,16,b5 +[0-9a-f]+[02468ace] <[^>]*> 9ae2[ \t]+extu \.S1 a5,24,24,a4 +[0-9a-f]+[02468ace] <[^>]*> 7be3[ \t]+extu \.S2 b7,24,24,b3 +[0-9a-f]+[02468ace] <[^>]*> 58e2[ \t]+extu \.S1 a1,24,24,a2 +[0-9a-f]+[02468ace] <[^>]*> 39e3[ \t]+extu \.S2 b3,24,24,b1 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 002e[ \t]+add \.S1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 212f[ \t]+add \.S2 b1,b2,b1 +[0-9a-f]+[02468ace] <[^>]*> 522e[ \t]+add \.S1X a2,b4,a2 +[0-9a-f]+[02468ace] <[^>]*> 732f[ \t]+add \.S2X b3,a6,b3 +[0-9a-f]+[02468ace] <[^>]*> 802e[ \t]+add \.S1 a4,a0,a4 +[0-9a-f]+[02468ace] <[^>]*> a12f[ \t]+add \.S2 b5,b2,b5 +[0-9a-f]+[02468ace] <[^>]*> d22e[ \t]+add \.S1X a6,b4,a6 +[0-9a-f]+[02468ace] <[^>]*> fb2f[ \t]+sub \.S2X b7,a6,b7 +[0-9a-f]+[02468ace] <[^>]*> 082e[ \t]+sub \.S1 a0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 292f[ \t]+sub \.S2 b1,b2,b1 +[0-9a-f]+[02468ace] <[^>]*> 5a2e[ \t]+sub \.S1X a2,b4,a2 +[0-9a-f]+[02468ace] <[^>]*> 7b2f[ \t]+sub \.S2X b3,a6,b3 +[0-9a-f]+[02468ace] <[^>]*> 882e[ \t]+sub \.S1 a4,a0,a4 +[0-9a-f]+[02468ace] <[^>]*> a92f[ \t]+sub \.S2 b5,b2,b5 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 042e[ \t]+addk \.S1 0,a0 +[0-9a-f]+[02468ace] <[^>]*> 152f[ \t]+addk \.S2 16,b2 +[0-9a-f]+[02468ace] <[^>]*> 262e[ \t]+addk \.S1 1,a4 +[0-9a-f]+[02468ace] <[^>]*> 372f[ \t]+addk \.S2 17,b6 +[0-9a-f]+[02468ace] <[^>]*> 4c2e[ \t]+addk \.S1 10,a0 +[0-9a-f]+[02468ace] <[^>]*> 5d2f[ \t]+addk \.S2 26,b2 +[0-9a-f]+[02468ace] <[^>]*> 6e2e[ \t]+addk \.S1 11,a4 +[0-9a-f]+[02468ace] <[^>]*> 77af[ \t]+addk \.S2 19,b7 +[0-9a-f]+[02468ace] <[^>]*> 84ae[ \t]+addk \.S1 4,a1 +[0-9a-f]+[02468ace] <[^>]*> 95af[ \t]+addk \.S2 20,b3 +[0-9a-f]+[02468ace] <[^>]*> aeae[ \t]+addk \.S1 13,a5 +[0-9a-f]+[02468ace] <[^>]*> bfaf[ \t]+addk \.S2 29,b7 +[0-9a-f]+[02468ace] <[^>]*> ccae[ \t]+addk \.S1 14,a1 +[0-9a-f]+[02468ace] <[^>]*> fdaf[ \t]+addk \.S2 31,b3 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 586e[ \t]+sub \.S1 0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 596f[ \t]+sub \.S2 0,b2,b2 +[0-9a-f]+[02468ace] <[^>]*> 5a6e[ \t]+sub \.S1 0,a4,a4 +[0-9a-f]+[02468ace] <[^>]*> 5b6f[ \t]+sub \.S2 0,b6,b6 +[0-9a-f]+[02468ace] <[^>]*> 586e[ \t]+sub \.S1 0,a0,a0 +[0-9a-f]+[02468ace] <[^>]*> 796f[ \t]+add \.S2 -1,b2,b2 +[0-9a-f]+[02468ace] <[^>]*> 7a6e[ \t]+add \.S1 -1,a4,a4 +[0-9a-f]+[02468ace] <[^>]*> 7bef[ \t]+add \.S2 -1,b7,b7 +[0-9a-f]+[02468ace] <[^>]*> 78ee[ \t]+add \.S1 -1,a1,a1 +[0-9a-f]+[02468ace] <[^>]*> 79ef[ \t]+add \.S2 -1,b3,b3 +[0-9a-f]+[02468ace] <[^>]*> daee[ \t]+mvc \.S1 b5,ilc +[0-9a-f]+[02468ace] <[^>]*> dbef[ \t]+mvc \.S2 b7,ilc +[0-9a-f]+[02468ace] <[^>]*> d8ee[ \t]+mvc \.S1 b1,ilc +[0-9a-f]+[02468ace] <[^>]*> d9ef[ \t]+mvc \.S2 b3,ilc +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 586e[ \t]+sub \.S1 0,a16,a16 +[0-9a-f]+[02468ace] <[^>]*> 596f[ \t]+sub \.S2 0,b18,b18 +[0-9a-f]+[02468ace] <[^>]*> 5a6e[ \t]+sub \.S1 0,a20,a20 +[0-9a-f]+[02468ace] <[^>]*> 5b6f[ \t]+sub \.S2 0,b22,b22 +[0-9a-f]+[02468ace] <[^>]*> 586e[ \t]+sub \.S1 0,a16,a16 +[0-9a-f]+[02468ace] <[^>]*> 796f[ \t]+add \.S2 -1,b18,b18 +[0-9a-f]+[02468ace] <[^>]*> 7a6e[ \t]+add \.S1 -1,a20,a20 +[0-9a-f]+[02468ace] <[^>]*> 7bef[ \t]+add \.S2 -1,b23,b23 +[0-9a-f]+[02468ace] <[^>]*> 78ee[ \t]+add \.S1 -1,a17,a17 +[0-9a-f]+[02468ace] <[^>]*> 79ef[ \t]+add \.S2 -1,b19,b19 +[0-9a-f]+[02468ace] <[^>]*> daee[ \t]+mvc \.S1 b21,ilc +[0-9a-f]+[02468ace] <[^>]*> dbef[ \t]+mvc \.S2 b23,ilc +[0-9a-f]+[02468ace] <[^>]*> d8ee[ \t]+mvc \.S1 b17,ilc +[0-9a-f]+[02468ace] <[^>]*> d9ef[ \t]+mvc \.S2 b19,ilc +[0-9a-f]+[02468ace] <[^>]*> efe80000[ \t]+<fetch packet header 0xefe80000> +[0-9a-f]+[02468ace] <[^>]*> 006e[ \t]+bnop \.S1 b0,0 +[0-9a-f]+[02468ace] <[^>]*> 216f[ \t]+bnop \.S2 b2,1 +[0-9a-f]+[02468ace] <[^>]*> 22ee[ \t]+bnop \.S1 b5,1 +[0-9a-f]+[02468ace] <[^>]*> 43ef[ \t]+bnop \.S2 b7,2 +[0-9a-f]+[02468ace] <[^>]*> 446e[ \t]+bnop \.S1 b8,2 +[0-9a-f]+[02468ace] <[^>]*> 656f[ \t]+bnop \.S2 b10,3 +[0-9a-f]+[02468ace] <[^>]*> 66ee[ \t]+bnop \.S1 b13,3 +[0-9a-f]+[02468ace] <[^>]*> 87ef[ \t]+bnop \.S2 b15,4 +[0-9a-f]+[02468ace] <[^>]*> 866e[ \t]+bnop \.S1 b12,4 +[0-9a-f]+[02468ace] <[^>]*> a56f[ \t]+bnop \.S2 b10,5 +[0-9a-f]+[02468ace] <[^>]*> a4ee[ \t]+bnop \.S1 b9,5 +[0-9a-f]+[02468ace] <[^>]*> c3ef[ \t]+bnop \.S2 b7,6 +[0-9a-f]+[02468ace] <[^>]*> c26e[ \t]+bnop \.S1 b4,6 +[0-9a-f]+[02468ace] <[^>]*> e16f[ \t]+bnop \.S2 b2,7 +[0-9a-f]+[02468ace] <[^>]*> efe00000[ \t]+<fetch packet header 0xefe00000> +[0-9a-f]+[02468ace] <[^>]*> 006e[ \t]+bnop \.S1 b0,0 +[0-9a-f]+[02468ace] <[^>]*> 216f[ \t]+bnop \.S2 b2,1 +[0-9a-f]+[02468ace] <[^>]*> 22ee[ \t]+bnop \.S1 b5,1 +[0-9a-f]+[02468ace] <[^>]*> 43ef[ \t]+bnop \.S2 b7,2 +[0-9a-f]+[02468ace] <[^>]*> 446e[ \t]+bnop \.S1 b8,2 +[0-9a-f]+[02468ace] <[^>]*> 656f[ \t]+bnop \.S2 b10,3 +[0-9a-f]+[02468ace] <[^>]*> 66ee[ \t]+bnop \.S1 b13,3 +[0-9a-f]+[02468ace] <[^>]*> 87ef[ \t]+bnop \.S2 b15,4 +[0-9a-f]+[02468ace] <[^>]*> 866e[ \t]+bnop \.S1 b12,4 +[0-9a-f]+[02468ace] <[^>]*> a56f[ \t]+bnop \.S2 b10,5 +[0-9a-f]+[02468ace] <[^>]*> a4ee[ \t]+bnop \.S1 b9,5 +[0-9a-f]+[02468ace] <[^>]*> c3ef[ \t]+bnop \.S2 b7,6 +[0-9a-f]+[02468ace] <[^>]*> c26e[ \t]+bnop \.S1 b4,6 +[0-9a-f]+[02468ace] <[^>]*> e16f[ \t]+bnop \.S2 b2,7 +[0-9a-f]+[02468ace] <[^>]*> efe80000[ \t]+<fetch packet header 0xefe80000> +[ \t]*\.\.\. diff --git a/gas/testsuite/gas/tic6x/insns16-s-unit.s b/gas/testsuite/gas/tic6x/insns16-s-unit.s new file mode 100644 index 0000000..1ea8c60 --- /dev/null +++ b/gas/testsuite/gas/tic6x/insns16-s-unit.s @@ -0,0 +1,248 @@ +; Test C64x+ S-unit compact instruction formats + .text + nop + .align 16 + nop + .align 16 +s3_nosat_op_0: + .short 0x000a + .short 0x201b + .short 0x512a + .short 0x713b + .short 0x824a + .short 0xa25b + .short 0xd36a + .short 0xf37b + .short 0xe28a +s3_nosat_op_1: + .short 0x0a9b + .short 0x39aa + .short 0x59bb + .short 0x68ca + .short 0x88db + .word 0xefe00000 | 0x0000 +s3_sat_op_0: + .short 0x21ea + .short 0x41fb + .short 0x720a + .short 0x921b + .short 0xc32a + .short 0xe33b + .short 0xf24a + .short 0xb25b + .short 0x816a +s3_sat_op_1: + .short 0xa87b + .short 0xd88a + .short 0xfa9b + .short 0xeaaa + .short 0x7bbb + .word 0xefe00000 | 0x4000 +s3i: + .short 0x040a + .short 0x251b + .short 0x362a + .short 0x573b + .short 0x444a + .short 0x655b + .short 0x766a + .short 0x9ffb + .short 0x8cea + .short 0xaddb + .short 0xbeca + .short 0xdfbb + .short 0xccaa + .short 0xed9b + .word 0xefe00000 | 0x0000 +smvk8: + .short 0x0012 + .short 0x1113 + .short 0x2232 + .short 0x3333 + .short 0x4752 + .short 0x5653 + .short 0x6572 + .short 0x78f3 + .short 0x8992 + .short 0x9a93 + .short 0xabb2 + .short 0xbed2 + .short 0xcdf3 + .short 0xfc92 + .word 0xefe00000 | 0x0000 +ssh5_nosat: + .short 0x0402 + .short 0x1503 + .short 0x2682 + .short 0x3783 + .short 0x4c22 + .short 0x5d23 + .short 0x6ea2 + .short 0x7fa3 + .short 0x8442 + .short 0x9543 + .short 0xa6c2 + .short 0xb7c3 + .short 0xcc42 + .short 0xdd43 + .word 0xefe00000 | 0x0000 +ssh5_sat: + .short 0xec02 + .short 0xfd03 + .short 0xe682 + .short 0xd783 + .short 0xc422 + .short 0xb523 + .short 0xaea2 + .short 0x9fa3 + .short 0x8c42 + .short 0x7d43 + .short 0x66c2 + .short 0x57c3 + .short 0x4442 + .short 0x3543 + .word 0xefe00000 | 0x4000 +s2sh: + .short 0x0462 + .short 0x2563 + .short 0x4662 + .short 0x6f63 + .short 0x8c62 + .short 0xad63 + .short 0xce62 + .short 0xf7e3 + .short 0xd4e2 + .short 0xb5e3 + .short 0x96e2 + .short 0x7fe3 + .short 0x5ce2 + .short 0x3de3 + .word 0xefe00000 +sc5: + .short 0x0002 + .short 0x1103 + .short 0x2202 + .short 0x3303 + .short 0x4a22 + .short 0x5923 + .short 0x6822 + .short 0x71a3 + .short 0x82a2 + .short 0x93c3 + .short 0xa2c2 + .short 0xb9c3 + .short 0xc8c2 + .short 0xf9c3 + .word 0xefe00000 +s2ext: + .short 0x0062 + .short 0x2163 + .short 0x4262 + .short 0x6b63 + .short 0x8862 + .short 0xa963 + .short 0xca62 + .short 0xf3e3 + .short 0xd0e2 + .short 0xb1e3 + .short 0x9ae2 + .short 0x7be3 + .short 0x58e2 + .short 0x39e3 + .word 0xefe00000 +sx2op: + .short 0x002e + .short 0x212f + .short 0x522e + .short 0x732f + .short 0x802e + .short 0xa12f + .short 0xd22e + .short 0xfb2f + .short 0x082e + .short 0x292f + .short 0x5a2e + .short 0x7b2f + .short 0x882e + .short 0xa92f + .word 0xefe00000 +sx5: + .short 0x042e + .short 0x152f + .short 0x262e + .short 0x372f + .short 0x4c2e + .short 0x5d2f + .short 0x6e2e + .short 0x77af + .short 0x84ae + .short 0x95af + .short 0xaeae + .short 0xbfaf + .short 0xccae + .short 0xfdaf + .word 0xefe00000 +sx1: + .short 0x586e + .short 0x596f + .short 0x5a6e + .short 0x5b6f + .short 0x586e + .short 0x796f + .short 0x7a6e + .short 0x7bef + .short 0x78ee + .short 0x79ef + .short 0xdaee + .short 0xdbef + .short 0xd8ee + .short 0xd9ef + .word 0xefe00000 +sx1_rs: + .short 0x586e + .short 0x596f + .short 0x5a6e + .short 0x5b6f + .short 0x586e + .short 0x796f + .short 0x7a6e + .short 0x7bef + .short 0x78ee + .short 0x79ef + .short 0xdaee + .short 0xdbef + .short 0xd8ee + .short 0xd9ef + .word 0xefe00000 | 0x00080000 +sx1b: + .short 0x006e + .short 0x216f + .short 0x22ee + .short 0x43ef + .short 0x446e + .short 0x656f + .short 0x66ee + .short 0x87ef + .short 0x866e + .short 0xa56f + .short 0xa4ee + .short 0xc3ef + .short 0xc26e + .short 0xe16f + .word 0xefe00000 +sx1b_rs: + .short 0x006e + .short 0x216f + .short 0x22ee + .short 0x43ef + .short 0x446e + .short 0x656f + .short 0x66ee + .short 0x87ef + .short 0x866e + .short 0xa56f + .short 0xa4ee + .short 0xc3ef + .short 0xc26e + .short 0xe16f + .word 0xefe00000 | 0x00080000 |