mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 02:24:46 +08:00
include/opcode/
2013-01-30 Yufeng Zhang <yufeng.zhang@arm.com> * aarch64.h (aarch64_op): Add OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2. opcodes/ 2013-01-30 Yufeng Zhang <yufeng.zhang@arm.com> * aarch64-tbl.h (aarch64_opcode_table): Flag sshll, sshll2, ushll and ushll2 with F_HAS_ALIAS. Add entries for sxtl, sxtl2, uxtl and uxtl2. * aarch64-asm.c (convert_xtl_to_shll): New function. (convert_to_real): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by calling convert_xtl_to_shll. * aarch64-dis.c (convert_shll_to_xtl): New function. (convert_to_alias): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by calling convert_shll_to_xtl. * aarch64-gen.c: Update copyright year. * aarch64-asm-2.c: Re-generate. * aarch64-dis-2.c: Re-generate. * aarch64-opc-2.c: Re-generate. gas/testsuite/ 2013-01-30 Yufeng Zhang <yufeng.zhang@arm.com> * gas/aarch64/alias.s: Add new tests. * gas/aarch64/alias.d: Update. * gas/aarch64/no-aliases.d: Update.
This commit is contained in:
parent
f9b2d5449a
commit
e30181a58d
@ -1,3 +1,9 @@
|
||||
2013-01-30 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* gas/aarch64/alias.s: Add new tests.
|
||||
* gas/aarch64/alias.d: Update.
|
||||
* gas/aarch64/no-aliases.d: Update.
|
||||
|
||||
2013-01-30 Markos Chandras <markos.chandras@imgtec.com>
|
||||
|
||||
* gas/metag/metacore21-invalid.s: Add invalid SWAP testcases.
|
||||
|
@ -72,3 +72,27 @@ Disassembly of section \.text:
|
||||
100: b13ffdff cmn x15, #0xfff
|
||||
104: f13fffef subs x15, sp, #0xfff
|
||||
108: b13ffdff cmn x15, #0xfff
|
||||
10c: 0f08a448 sxtl v8.8h, v2.8b
|
||||
110: 0f08a448 sxtl v8.8h, v2.8b
|
||||
114: 4f08a448 sxtl2 v8.8h, v2.16b
|
||||
118: 4f08a448 sxtl2 v8.8h, v2.16b
|
||||
11c: 0f10a448 sxtl v8.4s, v2.4h
|
||||
120: 0f10a448 sxtl v8.4s, v2.4h
|
||||
124: 4f10a448 sxtl2 v8.4s, v2.8h
|
||||
128: 4f10a448 sxtl2 v8.4s, v2.8h
|
||||
12c: 0f20a448 sxtl v8.2d, v2.2s
|
||||
130: 0f20a448 sxtl v8.2d, v2.2s
|
||||
134: 4f20a448 sxtl2 v8.2d, v2.4s
|
||||
138: 4f20a448 sxtl2 v8.2d, v2.4s
|
||||
13c: 2f08a448 uxtl v8.8h, v2.8b
|
||||
140: 2f08a448 uxtl v8.8h, v2.8b
|
||||
144: 6f08a448 uxtl2 v8.8h, v2.16b
|
||||
148: 6f08a448 uxtl2 v8.8h, v2.16b
|
||||
14c: 2f10a448 uxtl v8.4s, v2.4h
|
||||
150: 2f10a448 uxtl v8.4s, v2.4h
|
||||
154: 6f10a448 uxtl2 v8.4s, v2.8h
|
||||
158: 6f10a448 uxtl2 v8.4s, v2.8h
|
||||
15c: 2f20a448 uxtl v8.2d, v2.2s
|
||||
160: 2f20a448 uxtl v8.2d, v2.2s
|
||||
164: 6f20a448 uxtl2 v8.2d, v2.4s
|
||||
168: 6f20a448 uxtl2 v8.2d, v2.4s
|
||||
|
@ -2,7 +2,7 @@
|
||||
preference. It is also used to test the -Mno-aliases option in
|
||||
the disassemler.
|
||||
|
||||
Copyright 2012 Free Software Foundation, Inc.
|
||||
Copyright 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of GAS.
|
||||
@ -99,3 +99,21 @@
|
||||
adds xzr, x15, #0xfff
|
||||
subs x15, sp, #0xfff
|
||||
cmn x15, #0xfff
|
||||
|
||||
.macro asimdshll s
|
||||
\s\()xtl v8.8h, v2.8b
|
||||
\s\()shll v8.8h, v2.8b, #0
|
||||
\s\()xtl2 v8.8h, v2.16b
|
||||
\s\()shll2 v8.8h, v2.16b, #0
|
||||
\s\()xtl v8.4s, v2.4h
|
||||
\s\()shll v8.4s, v2.4h, #0
|
||||
\s\()xtl2 v8.4s, v2.8h
|
||||
\s\()shll2 v8.4s, v2.8h, #0
|
||||
\s\()xtl v8.2d, v2.2s
|
||||
\s\()shll v8.2d, v2.2s, #0
|
||||
\s\()xtl2 v8.2d, v2.4s
|
||||
\s\()shll2 v8.2d, v2.4s, #0
|
||||
.endm
|
||||
|
||||
asimdshll s
|
||||
asimdshll u
|
||||
|
@ -73,3 +73,27 @@ Disassembly of section \.text:
|
||||
100: b13ffdff adds xzr, x15, #0xfff
|
||||
104: f13fffef subs x15, sp, #0xfff
|
||||
108: b13ffdff adds xzr, x15, #0xfff
|
||||
10c: 0f08a448 sshll v8.8h, v2.8b, #0
|
||||
110: 0f08a448 sshll v8.8h, v2.8b, #0
|
||||
114: 4f08a448 sshll2 v8.8h, v2.16b, #0
|
||||
118: 4f08a448 sshll2 v8.8h, v2.16b, #0
|
||||
11c: 0f10a448 sshll v8.4s, v2.4h, #0
|
||||
120: 0f10a448 sshll v8.4s, v2.4h, #0
|
||||
124: 4f10a448 sshll2 v8.4s, v2.8h, #0
|
||||
128: 4f10a448 sshll2 v8.4s, v2.8h, #0
|
||||
12c: 0f20a448 sshll v8.2d, v2.2s, #0
|
||||
130: 0f20a448 sshll v8.2d, v2.2s, #0
|
||||
134: 4f20a448 sshll2 v8.2d, v2.4s, #0
|
||||
138: 4f20a448 sshll2 v8.2d, v2.4s, #0
|
||||
13c: 2f08a448 ushll v8.8h, v2.8b, #0
|
||||
140: 2f08a448 ushll v8.8h, v2.8b, #0
|
||||
144: 6f08a448 ushll2 v8.8h, v2.16b, #0
|
||||
148: 6f08a448 ushll2 v8.8h, v2.16b, #0
|
||||
14c: 2f10a448 ushll v8.4s, v2.4h, #0
|
||||
150: 2f10a448 ushll v8.4s, v2.4h, #0
|
||||
154: 6f10a448 ushll2 v8.4s, v2.8h, #0
|
||||
158: 6f10a448 ushll2 v8.4s, v2.8h, #0
|
||||
15c: 2f20a448 ushll v8.2d, v2.2s, #0
|
||||
160: 2f20a448 ushll v8.2d, v2.2s, #0
|
||||
164: 6f20a448 ushll2 v8.2d, v2.4s, #0
|
||||
168: 6f20a448 ushll2 v8.2d, v2.4s, #0
|
||||
|
@ -1,3 +1,7 @@
|
||||
2013-01-30 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* aarch64.h (aarch64_op): Add OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2.
|
||||
|
||||
2013-01-28 Alexis Deruelle <alexis.deruelle@gmail.com>
|
||||
|
||||
PR gas/15069
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* AArch64 assembler/disassembler support.
|
||||
|
||||
Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
Copyright 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of GNU Binutils.
|
||||
@ -424,6 +424,11 @@ enum aarch64_op
|
||||
|
||||
OP_ROR_IMM,
|
||||
|
||||
OP_SXTL,
|
||||
OP_SXTL2,
|
||||
OP_UXTL,
|
||||
OP_UXTL2,
|
||||
|
||||
OP_TOTAL_NUM, /* Pseudo. */
|
||||
};
|
||||
|
||||
|
@ -1,3 +1,18 @@
|
||||
2013-01-30 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* aarch64-tbl.h (aarch64_opcode_table): Flag sshll, sshll2, ushll and
|
||||
ushll2 with F_HAS_ALIAS. Add entries for sxtl, sxtl2, uxtl and uxtl2.
|
||||
* aarch64-asm.c (convert_xtl_to_shll): New function.
|
||||
(convert_to_real): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by
|
||||
calling convert_xtl_to_shll.
|
||||
* aarch64-dis.c (convert_shll_to_xtl): New function.
|
||||
(convert_to_alias): Handle OP_SXTL, OP_SXTL2, OP_UXTL and OP_UXTL2 by
|
||||
calling convert_shll_to_xtl.
|
||||
* aarch64-gen.c: Update copyright year.
|
||||
* aarch64-asm-2.c: Re-generate.
|
||||
* aarch64-dis-2.c: Re-generate.
|
||||
* aarch64-opc-2.c: Re-generate.
|
||||
|
||||
2013-01-24 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* v850-dis.c: Add support for e3v5 architecture.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* This file is automatically generated by aarch64-gen. Do not edit! */
|
||||
/* Copyright 2012 Free Software Foundation, Inc.
|
||||
/* Copyright 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of the GNU opcodes library.
|
||||
@ -76,147 +76,159 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
|
||||
case 259: /* mov */
|
||||
value = 258; /* --> orr. */
|
||||
break;
|
||||
case 427: /* mov */
|
||||
value = 426; /* --> dup. */
|
||||
case 314: /* sxtl */
|
||||
value = 313; /* --> sshll. */
|
||||
break;
|
||||
case 494: /* sxtw */
|
||||
case 493: /* sxth */
|
||||
case 492: /* sxtb */
|
||||
case 495: /* asr */
|
||||
case 491: /* sbfx */
|
||||
case 490: /* sbfiz */
|
||||
value = 489; /* --> sbfm. */
|
||||
case 316: /* sxtl2 */
|
||||
value = 315; /* --> sshll2. */
|
||||
break;
|
||||
case 498: /* bfxil */
|
||||
case 497: /* bfi */
|
||||
value = 496; /* --> bfm. */
|
||||
case 336: /* uxtl */
|
||||
value = 335; /* --> ushll. */
|
||||
break;
|
||||
case 503: /* uxth */
|
||||
case 502: /* uxtb */
|
||||
case 505: /* lsr */
|
||||
case 504: /* lsl */
|
||||
case 501: /* ubfx */
|
||||
case 500: /* ubfiz */
|
||||
value = 499; /* --> ubfm. */
|
||||
case 338: /* uxtl2 */
|
||||
value = 337; /* --> ushll2. */
|
||||
break;
|
||||
case 523: /* cset */
|
||||
case 522: /* cinc */
|
||||
value = 521; /* --> csinc. */
|
||||
case 431: /* mov */
|
||||
value = 430; /* --> dup. */
|
||||
break;
|
||||
case 526: /* csetm */
|
||||
case 525: /* cinv */
|
||||
value = 524; /* --> csinv. */
|
||||
case 498: /* sxtw */
|
||||
case 497: /* sxth */
|
||||
case 496: /* sxtb */
|
||||
case 499: /* asr */
|
||||
case 495: /* sbfx */
|
||||
case 494: /* sbfiz */
|
||||
value = 493; /* --> sbfm. */
|
||||
break;
|
||||
case 528: /* cneg */
|
||||
value = 527; /* --> csneg. */
|
||||
case 502: /* bfxil */
|
||||
case 501: /* bfi */
|
||||
value = 500; /* --> bfm. */
|
||||
break;
|
||||
case 553: /* lsl */
|
||||
value = 552; /* --> lslv. */
|
||||
case 507: /* uxth */
|
||||
case 506: /* uxtb */
|
||||
case 509: /* lsr */
|
||||
case 508: /* lsl */
|
||||
case 505: /* ubfx */
|
||||
case 504: /* ubfiz */
|
||||
value = 503; /* --> ubfm. */
|
||||
break;
|
||||
case 555: /* lsr */
|
||||
value = 554; /* --> lsrv. */
|
||||
case 527: /* cset */
|
||||
case 526: /* cinc */
|
||||
value = 525; /* --> csinc. */
|
||||
break;
|
||||
case 557: /* asr */
|
||||
value = 556; /* --> asrv. */
|
||||
case 530: /* csetm */
|
||||
case 529: /* cinv */
|
||||
value = 528; /* --> csinv. */
|
||||
break;
|
||||
case 559: /* ror */
|
||||
value = 558; /* --> rorv. */
|
||||
case 532: /* cneg */
|
||||
value = 531; /* --> csneg. */
|
||||
break;
|
||||
case 561: /* mul */
|
||||
value = 560; /* --> madd. */
|
||||
case 557: /* lsl */
|
||||
value = 556; /* --> lslv. */
|
||||
break;
|
||||
case 563: /* mneg */
|
||||
value = 562; /* --> msub. */
|
||||
case 559: /* lsr */
|
||||
value = 558; /* --> lsrv. */
|
||||
break;
|
||||
case 565: /* smull */
|
||||
value = 564; /* --> smaddl. */
|
||||
case 561: /* asr */
|
||||
value = 560; /* --> asrv. */
|
||||
break;
|
||||
case 567: /* smnegl */
|
||||
value = 566; /* --> smsubl. */
|
||||
case 563: /* ror */
|
||||
value = 562; /* --> rorv. */
|
||||
break;
|
||||
case 570: /* umull */
|
||||
value = 569; /* --> umaddl. */
|
||||
case 565: /* mul */
|
||||
value = 564; /* --> madd. */
|
||||
break;
|
||||
case 572: /* umnegl */
|
||||
value = 571; /* --> umsubl. */
|
||||
case 567: /* mneg */
|
||||
value = 566; /* --> msub. */
|
||||
break;
|
||||
case 583: /* ror */
|
||||
value = 582; /* --> extr. */
|
||||
case 569: /* smull */
|
||||
value = 568; /* --> smaddl. */
|
||||
break;
|
||||
case 683: /* strb */
|
||||
value = 681; /* --> sturb. */
|
||||
case 571: /* smnegl */
|
||||
value = 570; /* --> smsubl. */
|
||||
break;
|
||||
case 684: /* ldrb */
|
||||
value = 682; /* --> ldurb. */
|
||||
case 574: /* umull */
|
||||
value = 573; /* --> umaddl. */
|
||||
break;
|
||||
case 686: /* ldrsb */
|
||||
value = 685; /* --> ldursb. */
|
||||
case 576: /* umnegl */
|
||||
value = 575; /* --> umsubl. */
|
||||
break;
|
||||
case 689: /* str */
|
||||
value = 687; /* --> stur. */
|
||||
case 587: /* ror */
|
||||
value = 586; /* --> extr. */
|
||||
break;
|
||||
case 690: /* ldr */
|
||||
value = 688; /* --> ldur. */
|
||||
case 687: /* strb */
|
||||
value = 685; /* --> sturb. */
|
||||
break;
|
||||
case 693: /* strh */
|
||||
value = 691; /* --> sturh. */
|
||||
case 688: /* ldrb */
|
||||
value = 686; /* --> ldurb. */
|
||||
break;
|
||||
case 694: /* ldrh */
|
||||
value = 692; /* --> ldurh. */
|
||||
case 690: /* ldrsb */
|
||||
value = 689; /* --> ldursb. */
|
||||
break;
|
||||
case 696: /* ldrsh */
|
||||
value = 695; /* --> ldursh. */
|
||||
case 693: /* str */
|
||||
value = 691; /* --> stur. */
|
||||
break;
|
||||
case 699: /* str */
|
||||
value = 697; /* --> stur. */
|
||||
case 694: /* ldr */
|
||||
value = 692; /* --> ldur. */
|
||||
break;
|
||||
case 700: /* ldr */
|
||||
value = 698; /* --> ldur. */
|
||||
case 697: /* strh */
|
||||
value = 695; /* --> sturh. */
|
||||
break;
|
||||
case 702: /* ldrsw */
|
||||
value = 701; /* --> ldursw. */
|
||||
case 698: /* ldrh */
|
||||
value = 696; /* --> ldurh. */
|
||||
break;
|
||||
case 704: /* prfm */
|
||||
value = 703; /* --> prfum. */
|
||||
case 700: /* ldrsh */
|
||||
value = 699; /* --> ldursh. */
|
||||
break;
|
||||
case 746: /* bic */
|
||||
value = 745; /* --> and. */
|
||||
case 703: /* str */
|
||||
value = 701; /* --> stur. */
|
||||
break;
|
||||
case 748: /* mov */
|
||||
value = 747; /* --> orr. */
|
||||
case 704: /* ldr */
|
||||
value = 702; /* --> ldur. */
|
||||
break;
|
||||
case 751: /* tst */
|
||||
value = 750; /* --> ands. */
|
||||
case 706: /* ldrsw */
|
||||
value = 705; /* --> ldursw. */
|
||||
break;
|
||||
case 756: /* uxtw */
|
||||
case 755: /* mov */
|
||||
value = 754; /* --> orr. */
|
||||
case 708: /* prfm */
|
||||
value = 707; /* --> prfum. */
|
||||
break;
|
||||
case 758: /* mvn */
|
||||
value = 757; /* --> orn. */
|
||||
case 750: /* bic */
|
||||
value = 749; /* --> and. */
|
||||
break;
|
||||
case 762: /* tst */
|
||||
value = 761; /* --> ands. */
|
||||
case 752: /* mov */
|
||||
value = 751; /* --> orr. */
|
||||
break;
|
||||
case 765: /* mov */
|
||||
value = 764; /* --> movn. */
|
||||
case 755: /* tst */
|
||||
value = 754; /* --> ands. */
|
||||
break;
|
||||
case 767: /* mov */
|
||||
value = 766; /* --> movz. */
|
||||
case 760: /* uxtw */
|
||||
case 759: /* mov */
|
||||
value = 758; /* --> orr. */
|
||||
break;
|
||||
case 778: /* sevl */
|
||||
case 777: /* sev */
|
||||
case 776: /* wfi */
|
||||
case 775: /* wfe */
|
||||
case 774: /* yield */
|
||||
case 773: /* nop */
|
||||
value = 772; /* --> hint. */
|
||||
case 762: /* mvn */
|
||||
value = 761; /* --> orn. */
|
||||
break;
|
||||
case 787: /* tlbi */
|
||||
case 786: /* ic */
|
||||
case 785: /* dc */
|
||||
case 784: /* at */
|
||||
value = 783; /* --> sys. */
|
||||
case 766: /* tst */
|
||||
value = 765; /* --> ands. */
|
||||
break;
|
||||
case 769: /* mov */
|
||||
value = 768; /* --> movn. */
|
||||
break;
|
||||
case 771: /* mov */
|
||||
value = 770; /* --> movz. */
|
||||
break;
|
||||
case 782: /* sevl */
|
||||
case 781: /* sev */
|
||||
case 780: /* wfi */
|
||||
case 779: /* wfe */
|
||||
case 778: /* yield */
|
||||
case 777: /* nop */
|
||||
value = 776; /* --> hint. */
|
||||
break;
|
||||
case 791: /* tlbi */
|
||||
case 790: /* ic */
|
||||
case 789: /* dc */
|
||||
case 788: /* at */
|
||||
value = 787; /* --> sys. */
|
||||
break;
|
||||
default: return NULL;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* aarch64-asm.c -- AArch64 assembler support.
|
||||
Copyright 2012 Free Software Foundation, Inc.
|
||||
Copyright 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of the GNU opcodes library.
|
||||
@ -958,6 +958,16 @@ convert_ror_to_extr (aarch64_inst *inst)
|
||||
copy_operand_info (inst, 2, 1);
|
||||
}
|
||||
|
||||
/* UXTL<Q> <Vd>.<Ta>, <Vn>.<Tb>
|
||||
is equivalent to:
|
||||
USHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #0. */
|
||||
static void
|
||||
convert_xtl_to_shll (aarch64_inst *inst)
|
||||
{
|
||||
inst->operands[2].qualifier = inst->operands[1].qualifier;
|
||||
inst->operands[2].imm.value = 0;
|
||||
}
|
||||
|
||||
/* Convert
|
||||
LSR <Xd>, <Xn>, #<shift>
|
||||
to
|
||||
@ -1167,6 +1177,12 @@ convert_to_real (aarch64_inst *inst, const aarch64_opcode *real)
|
||||
case OP_ROR_IMM:
|
||||
convert_ror_to_extr (inst);
|
||||
break;
|
||||
case OP_SXTL:
|
||||
case OP_SXTL2:
|
||||
case OP_UXTL:
|
||||
case OP_UXTL2:
|
||||
convert_xtl_to_shll (inst);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/* aarch64-dis.c -- AArch64 disassembler.
|
||||
Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
Copyright 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of the GNU opcodes library.
|
||||
@ -1478,6 +1478,20 @@ convert_extr_to_ror (aarch64_inst *inst)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* UXTL<Q> <Vd>.<Ta>, <Vn>.<Tb>
|
||||
is equivalent to:
|
||||
USHLL<Q> <Vd>.<Ta>, <Vn>.<Tb>, #0. */
|
||||
static int
|
||||
convert_shll_to_xtl (aarch64_inst *inst)
|
||||
{
|
||||
if (inst->operands[2].imm.value == 0)
|
||||
{
|
||||
inst->operands[2].type = AARCH64_OPND_NIL;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Convert
|
||||
UBFM <Xd>, <Xn>, #<shift>, #63.
|
||||
to
|
||||
@ -1731,6 +1745,11 @@ convert_to_alias (aarch64_inst *inst, const aarch64_opcode *alias)
|
||||
return convert_movebitmask_to_mov (inst);
|
||||
case OP_ROR_IMM:
|
||||
return convert_extr_to_ror (inst);
|
||||
case OP_SXTL:
|
||||
case OP_SXTL2:
|
||||
case OP_UXTL:
|
||||
case OP_UXTL2:
|
||||
return convert_shll_to_xtl (inst);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* aarch64-gen.c -- Generate tables and routines for opcode lookup and
|
||||
instruction encoding and decoding.
|
||||
Copyright 2012 Free Software Foundation, Inc.
|
||||
Copyright 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of the GNU opcodes library.
|
||||
@ -1242,7 +1242,7 @@ main (int argc, char **argv)
|
||||
print_divide_result (decoder_tree);
|
||||
|
||||
printf ("/* This file is automatically generated by aarch64-gen. Do not edit! */\n");
|
||||
printf ("/* Copyright 2012 Free Software Foundation, Inc.\n\
|
||||
printf ("/* Copyright 2012, 2013 Free Software Foundation, Inc.\n\
|
||||
Contributed by ARM Ltd.\n\
|
||||
\n\
|
||||
This file is part of the GNU opcodes library.\n\
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* This file is automatically generated by aarch64-gen. Do not edit! */
|
||||
/* Copyright 2012 Free Software Foundation, Inc.
|
||||
/* Copyright 2012, 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of the GNU opcodes library.
|
||||
@ -119,70 +119,73 @@ const struct aarch64_operand aarch64_operands[] =
|
||||
static const unsigned op_enum_table [] =
|
||||
{
|
||||
0,
|
||||
648,
|
||||
649,
|
||||
650,
|
||||
652,
|
||||
653,
|
||||
654,
|
||||
655,
|
||||
656,
|
||||
657,
|
||||
651,
|
||||
652,
|
||||
658,
|
||||
659,
|
||||
681,
|
||||
682,
|
||||
660,
|
||||
661,
|
||||
655,
|
||||
656,
|
||||
662,
|
||||
663,
|
||||
685,
|
||||
686,
|
||||
689,
|
||||
695,
|
||||
696,
|
||||
699,
|
||||
701,
|
||||
702,
|
||||
691,
|
||||
692,
|
||||
695,
|
||||
697,
|
||||
698,
|
||||
687,
|
||||
688,
|
||||
701,
|
||||
703,
|
||||
741,
|
||||
742,
|
||||
743,
|
||||
744,
|
||||
705,
|
||||
707,
|
||||
745,
|
||||
746,
|
||||
747,
|
||||
748,
|
||||
12,
|
||||
510,
|
||||
511,
|
||||
768,
|
||||
770,
|
||||
772,
|
||||
752,
|
||||
771,
|
||||
769,
|
||||
259,
|
||||
499,
|
||||
509,
|
||||
508,
|
||||
750,
|
||||
505,
|
||||
502,
|
||||
495,
|
||||
494,
|
||||
501,
|
||||
504,
|
||||
506,
|
||||
507,
|
||||
764,
|
||||
766,
|
||||
768,
|
||||
748,
|
||||
767,
|
||||
765,
|
||||
259,
|
||||
495,
|
||||
505,
|
||||
504,
|
||||
746,
|
||||
501,
|
||||
498,
|
||||
491,
|
||||
490,
|
||||
497,
|
||||
500,
|
||||
502,
|
||||
503,
|
||||
756,
|
||||
125,
|
||||
522,
|
||||
525,
|
||||
528,
|
||||
523,
|
||||
760,
|
||||
526,
|
||||
614,
|
||||
529,
|
||||
532,
|
||||
527,
|
||||
530,
|
||||
618,
|
||||
160,
|
||||
161,
|
||||
162,
|
||||
163,
|
||||
416,
|
||||
583,
|
||||
420,
|
||||
587,
|
||||
314,
|
||||
316,
|
||||
336,
|
||||
338,
|
||||
};
|
||||
|
||||
/* Given the opcode enumerator OP, return the pointer to the corresponding
|
||||
|
@ -1534,8 +1534,10 @@ struct aarch64_opcode aarch64_opcode_table[] =
|
||||
{"sqshrn2", 0x4f009400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
|
||||
{"sqrshrn", 0xf009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0},
|
||||
{"sqrshrn2", 0x4f009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
|
||||
{"sshll", 0xf00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, 0},
|
||||
{"sshll2", 0x4f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, 0},
|
||||
{"sshll", 0xf00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, F_HAS_ALIAS},
|
||||
{"sxtl", 0xf00a400, 0xff87fc00, asimdshf, OP_SXTL, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS, F_ALIAS | F_CONV},
|
||||
{"sshll2", 0x4f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, F_HAS_ALIAS},
|
||||
{"sxtl2", 0x4f00a400, 0xff87fc00, asimdshf, OP_SXTL2, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS2, F_ALIAS | F_CONV},
|
||||
{"scvtf", 0xf00e400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
|
||||
{"fcvtzs", 0xf00fc00, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
|
||||
{"ushr", 0x2f000400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0},
|
||||
@ -1554,8 +1556,10 @@ struct aarch64_opcode aarch64_opcode_table[] =
|
||||
{"uqshrn2", 0x6f009400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
|
||||
{"uqrshrn", 0x2f009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN, 0},
|
||||
{"uqrshrn2", 0x6f009c00, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFTN2, 0},
|
||||
{"ushll", 0x2f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, 0},
|
||||
{"ushll2", 0x6f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, 0},
|
||||
{"ushll", 0x2f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL, F_HAS_ALIAS},
|
||||
{"uxtl", 0x2f00a400, 0xff87fc00, asimdshf, OP_UXTL, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS, F_ALIAS | F_CONV},
|
||||
{"ushll2", 0x6f00a400, 0xff80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSL), QL_VSHIFTL2, F_HAS_ALIAS},
|
||||
{"uxtl2", 0x6f00a400, 0xff87fc00, asimdshf, OP_UXTL2, SIMD, OP2 (Vd, Vn), QL_V2LONGBHS2, F_ALIAS | F_CONV},
|
||||
{"ucvtf", 0x2f00e400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
|
||||
{"fcvtzu", 0x2f00fc00, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT_SD, 0},
|
||||
/* AdvSIMD TBL/TBX. */
|
||||
|
Loading…
Reference in New Issue
Block a user