include/opcode/
authorYufeng Zhang <yufeng.zhang@arm.com>
Thu, 17 Jan 2013 16:09:44 +0000 (16:09 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Thu, 17 Jan 2013 16:09:44 +0000 (16:09 +0000)
2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>

* aarch64.h (aarch64_op): Remove OP_V_MOVI_B.

opcodes/

2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>

* aarch64-asm.c (aarch64_ins_advsimd_imm_modified): Handle 8-bit MOVI.
* aarch64-dis.c (aarch64_ext_advsimd_imm_modified): Likewise.
* aarch64-opc.c (operand_general_constraint_met_p): For
AARCH64_MOD_LSL, move the range check on the shift amount before the
alignment check; change to call set_sft_amount_out_of_range_error
instead of set_imm_out_of_range_error.
* aarch64-tbl.h (QL_SIMD_IMM_B): Replace NIL with LSL.
(aarch64_opcode_table): Remove the OP enumerator from the asimdimm
8-bit MOVI entry; change the 2nd operand from SIMD_IMM to
SIMD_IMM_SFT.

gas/

2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>

* config/tc-aarch64.c (output_operand_error_record): Change to output
the out-of-range error message as value-expected message if there is
only one single value in the expected range.
(programmer_friendly_fixup): Remove the handling of 8-bit MOVI with
LSL #0 as a programmer-friendly feature.

gas/testsuite/

2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>

* gas/aarch64/diagnostic.l: Update.
* gas/aarch64/movi.s: Add tests.
* gas/aarch64/movi.d: Update.
* gas/aarch64/programmer-friendly.s: Add comment.

14 files changed:
gas/ChangeLog
gas/config/tc-aarch64.c
gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/diagnostic.l
gas/testsuite/gas/aarch64/movi.d
gas/testsuite/gas/aarch64/movi.s
gas/testsuite/gas/aarch64/programmer-friendly.s
include/opcode/ChangeLog
include/opcode/aarch64.h
opcodes/ChangeLog
opcodes/aarch64-asm.c
opcodes/aarch64-dis.c
opcodes/aarch64-opc.c
opcodes/aarch64-tbl.h

index a011624c2750b2e8dcdf74fc90f882ee47bca78c..31653de2861fbfd8431da60ac6da87c480be3f65 100644 (file)
@@ -1,3 +1,11 @@
+2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * config/tc-aarch64.c (output_operand_error_record): Change to output
+       the out-of-range error message as value-expected message if there is
+       only one single value in the expected range.
+       (programmer_friendly_fixup): Remove the handling of 8-bit MOVI with
+       LSL #0 as a programmer-friendly feature.
+
 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/tc-i386.c (reloc): Support BFD_RELOC_SIZE32.
index 3220d2b012a6ff480eedd6fd2dcf2e26549717f0..f9b4cd08fc06f9f9372bda622c8e9c2f57fb266d 100644 (file)
@@ -3926,9 +3926,14 @@ output_operand_error_record (const operand_error_record *record, char *str)
       break;
 
     case AARCH64_OPDE_OUT_OF_RANGE:
-      as_bad (_("%s out of range %d to %d at operand %d -- `%s'"),
-             detail->error ? detail->error : _("immediate value"),
-             detail->data[0], detail->data[1], detail->index + 1, str);
+      if (detail->data[0] != detail->data[1])
+       as_bad (_("%s out of range %d to %d at operand %d -- `%s'"),
+               detail->error ? detail->error : _("immediate value"),
+               detail->data[0], detail->data[1], detail->index + 1, str);
+      else
+       as_bad (_("%s expected to be %d at operand %d -- `%s'"),
+               detail->error ? detail->error : _("immediate value"),
+               detail->data[0], detail->index + 1, str);
       break;
 
     case AARCH64_OPDE_REG_LIST:
@@ -5259,25 +5264,6 @@ programmer_friendly_fixup (aarch64_instruction *instr)
            }
        }
       break;
-    case asimdimm:
-      /* Allow MOVI V0.16B, 97, LSL 0, although the preferred architectural
-        syntax requires that the LSL shifter can only be used when the
-        destination register has the shape of 4H, 8H, 2S or 4S.  */
-      if (op == OP_V_MOVI_B && operands[1].shifter.kind == AARCH64_MOD_LSL
-         && (operands[0].qualifier == AARCH64_OPND_QLF_V_8B
-             || operands[0].qualifier == AARCH64_OPND_QLF_V_16B))
-       {
-         if (operands[1].shifter.amount != 0)
-           {
-             record_operand_error (opcode, 1,
-                                   AARCH64_OPDE_OTHER_ERROR,
-                                   _("shift amount non-zero"));
-             return FALSE;
-           }
-         operands[1].shifter.kind = AARCH64_MOD_NONE;
-         operands[1].qualifier = AARCH64_OPND_QLF_NIL;
-       }
-      break;
     case log_shift:
     case bitfield:
       /* UXT[BHW] Wd, Wn
index 9bbead969cd8d4533679d9d4f49a9509dd0862c2..73c96e9ba8134cf690b339b556999f274874a819 100644 (file)
@@ -1,3 +1,10 @@
+2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * gas/aarch64/diagnostic.l: Update.
+       * gas/aarch64/movi.s: Add tests.
+       * gas/aarch64/movi.d: Update.
+       * gas/aarch64/programmer-friendly.s: Add comment.
+
 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
 
        * gas/i386/i386.exp: Run size-1, size-2, size-3, size-4,
index cd8b3e2b753afca8e06701a76b7c79c6b15ceaa8..574501202e2ee30bcf3b0ce826659c1d6ac043e9 100644 (file)
@@ -43,7 +43,7 @@
 [^:]*:45: Error: invalid shift operator at operand 2 -- `movi v1.4h,255,msl#8'
 [^:]*:46: Error: invalid value for immediate at operand 2 -- `movi d0,256'
 [^:]*:47: Error: immediate value should be a multiple of 8 at operand 2 -- `movi v1.4h,255,lsl#7'
-[^:]*:48: Error: immediate value out of range 0 to 8 at operand 2 -- `movi v1.4h,255,lsl#16'
+[^:]*:48: Error: shift amount out of range 0 to 8 at operand 2 -- `movi v1.4h,255,lsl#16'
 [^:]*:49: Error: shift amount expected to be 0 or 16 at operand 2 -- `movi v2.2s,255,msl#0'
 [^:]*:50: Error: shift amount expected to be 0 or 16 at operand 2 -- `movi v2.2s,255,msl#15'
 [^:]*:51: Error: invalid floating-point constant at operand 2 -- `fmov v1.2s,1.01'
@@ -84,5 +84,5 @@
 [^:]*:86: Error: unexpected address writeback at operand 3 -- `stnp x7,x15,\[x3,#32\]!'
 [^:]*:87: Error: immediate offset out of range -256 to 252 at operand 3 -- `ldnp w7,w15,\[x3,#256\]'
 [^:]*:88: Error: shift is not permitted at operand 2 -- `movi v1.2d,4294967295,lsl#0'
-[^:]*:89: Error: shift amount non-zero at operand 2 -- `movi v1.8b,97,lsl#8'
+[^:]*:89: Error: shift amount expected to be 0 at operand 2 -- `movi v1.8b,97,lsl#8'
 [^:]*:90: Error: unknown or missing system register name at operand 1 -- `msr dummy,x1'
index 2c73cc40d24f1e1e2b705078170c51fb8e15e027..cd54cfd229bbf90025cca6d274513e4acd46595c 100644 (file)
@@ -8197,7 +8197,519 @@ Disassembly of section \.text:
     7ff4:      4f0707af        movi    v15.4s, #0xfd
     7ff8:      4f0707cf        movi    v15.4s, #0xfe
     7ffc:      4f0707ef        movi    v15.4s, #0xff
-    8000:      6f07e7e0        movi    v0.2d, #0xffffffffffffffff
-    8004:      6f07e7e0        movi    v0.2d, #0xffffffffffffffff
-    8008:      6f07e7e0        movi    v0.2d, #0xffffffffffffffff
-    800c:      2f07e7ff        movi    d31, #0xffffffffffffffff
+    8000:      0f00e407        movi    v7.8b, #0x0
+    8004:      0f00e427        movi    v7.8b, #0x1
+    8008:      0f00e447        movi    v7.8b, #0x2
+    800c:      0f00e467        movi    v7.8b, #0x3
+    8010:      0f00e487        movi    v7.8b, #0x4
+    8014:      0f00e4a7        movi    v7.8b, #0x5
+    8018:      0f00e4c7        movi    v7.8b, #0x6
+    801c:      0f00e4e7        movi    v7.8b, #0x7
+    8020:      0f00e507        movi    v7.8b, #0x8
+    8024:      0f00e527        movi    v7.8b, #0x9
+    8028:      0f00e547        movi    v7.8b, #0xa
+    802c:      0f00e567        movi    v7.8b, #0xb
+    8030:      0f00e587        movi    v7.8b, #0xc
+    8034:      0f00e5a7        movi    v7.8b, #0xd
+    8038:      0f00e5c7        movi    v7.8b, #0xe
+    803c:      0f00e5e7        movi    v7.8b, #0xf
+    8040:      0f00e607        movi    v7.8b, #0x10
+    8044:      0f00e627        movi    v7.8b, #0x11
+    8048:      0f00e647        movi    v7.8b, #0x12
+    804c:      0f00e667        movi    v7.8b, #0x13
+    8050:      0f00e687        movi    v7.8b, #0x14
+    8054:      0f00e6a7        movi    v7.8b, #0x15
+    8058:      0f00e6c7        movi    v7.8b, #0x16
+    805c:      0f00e6e7        movi    v7.8b, #0x17
+    8060:      0f00e707        movi    v7.8b, #0x18
+    8064:      0f00e727        movi    v7.8b, #0x19
+    8068:      0f00e747        movi    v7.8b, #0x1a
+    806c:      0f00e767        movi    v7.8b, #0x1b
+    8070:      0f00e787        movi    v7.8b, #0x1c
+    8074:      0f00e7a7        movi    v7.8b, #0x1d
+    8078:      0f00e7c7        movi    v7.8b, #0x1e
+    807c:      0f00e7e7        movi    v7.8b, #0x1f
+    8080:      0f01e407        movi    v7.8b, #0x20
+    8084:      0f01e427        movi    v7.8b, #0x21
+    8088:      0f01e447        movi    v7.8b, #0x22
+    808c:      0f01e467        movi    v7.8b, #0x23
+    8090:      0f01e487        movi    v7.8b, #0x24
+    8094:      0f01e4a7        movi    v7.8b, #0x25
+    8098:      0f01e4c7        movi    v7.8b, #0x26
+    809c:      0f01e4e7        movi    v7.8b, #0x27
+    80a0:      0f01e507        movi    v7.8b, #0x28
+    80a4:      0f01e527        movi    v7.8b, #0x29
+    80a8:      0f01e547        movi    v7.8b, #0x2a
+    80ac:      0f01e567        movi    v7.8b, #0x2b
+    80b0:      0f01e587        movi    v7.8b, #0x2c
+    80b4:      0f01e5a7        movi    v7.8b, #0x2d
+    80b8:      0f01e5c7        movi    v7.8b, #0x2e
+    80bc:      0f01e5e7        movi    v7.8b, #0x2f
+    80c0:      0f01e607        movi    v7.8b, #0x30
+    80c4:      0f01e627        movi    v7.8b, #0x31
+    80c8:      0f01e647        movi    v7.8b, #0x32
+    80cc:      0f01e667        movi    v7.8b, #0x33
+    80d0:      0f01e687        movi    v7.8b, #0x34
+    80d4:      0f01e6a7        movi    v7.8b, #0x35
+    80d8:      0f01e6c7        movi    v7.8b, #0x36
+    80dc:      0f01e6e7        movi    v7.8b, #0x37
+    80e0:      0f01e707        movi    v7.8b, #0x38
+    80e4:      0f01e727        movi    v7.8b, #0x39
+    80e8:      0f01e747        movi    v7.8b, #0x3a
+    80ec:      0f01e767        movi    v7.8b, #0x3b
+    80f0:      0f01e787        movi    v7.8b, #0x3c
+    80f4:      0f01e7a7        movi    v7.8b, #0x3d
+    80f8:      0f01e7c7        movi    v7.8b, #0x3e
+    80fc:      0f01e7e7        movi    v7.8b, #0x3f
+    8100:      0f02e407        movi    v7.8b, #0x40
+    8104:      0f02e427        movi    v7.8b, #0x41
+    8108:      0f02e447        movi    v7.8b, #0x42
+    810c:      0f02e467        movi    v7.8b, #0x43
+    8110:      0f02e487        movi    v7.8b, #0x44
+    8114:      0f02e4a7        movi    v7.8b, #0x45
+    8118:      0f02e4c7        movi    v7.8b, #0x46
+    811c:      0f02e4e7        movi    v7.8b, #0x47
+    8120:      0f02e507        movi    v7.8b, #0x48
+    8124:      0f02e527        movi    v7.8b, #0x49
+    8128:      0f02e547        movi    v7.8b, #0x4a
+    812c:      0f02e567        movi    v7.8b, #0x4b
+    8130:      0f02e587        movi    v7.8b, #0x4c
+    8134:      0f02e5a7        movi    v7.8b, #0x4d
+    8138:      0f02e5c7        movi    v7.8b, #0x4e
+    813c:      0f02e5e7        movi    v7.8b, #0x4f
+    8140:      0f02e607        movi    v7.8b, #0x50
+    8144:      0f02e627        movi    v7.8b, #0x51
+    8148:      0f02e647        movi    v7.8b, #0x52
+    814c:      0f02e667        movi    v7.8b, #0x53
+    8150:      0f02e687        movi    v7.8b, #0x54
+    8154:      0f02e6a7        movi    v7.8b, #0x55
+    8158:      0f02e6c7        movi    v7.8b, #0x56
+    815c:      0f02e6e7        movi    v7.8b, #0x57
+    8160:      0f02e707        movi    v7.8b, #0x58
+    8164:      0f02e727        movi    v7.8b, #0x59
+    8168:      0f02e747        movi    v7.8b, #0x5a
+    816c:      0f02e767        movi    v7.8b, #0x5b
+    8170:      0f02e787        movi    v7.8b, #0x5c
+    8174:      0f02e7a7        movi    v7.8b, #0x5d
+    8178:      0f02e7c7        movi    v7.8b, #0x5e
+    817c:      0f02e7e7        movi    v7.8b, #0x5f
+    8180:      0f03e407        movi    v7.8b, #0x60
+    8184:      0f03e427        movi    v7.8b, #0x61
+    8188:      0f03e447        movi    v7.8b, #0x62
+    818c:      0f03e467        movi    v7.8b, #0x63
+    8190:      0f03e487        movi    v7.8b, #0x64
+    8194:      0f03e4a7        movi    v7.8b, #0x65
+    8198:      0f03e4c7        movi    v7.8b, #0x66
+    819c:      0f03e4e7        movi    v7.8b, #0x67
+    81a0:      0f03e507        movi    v7.8b, #0x68
+    81a4:      0f03e527        movi    v7.8b, #0x69
+    81a8:      0f03e547        movi    v7.8b, #0x6a
+    81ac:      0f03e567        movi    v7.8b, #0x6b
+    81b0:      0f03e587        movi    v7.8b, #0x6c
+    81b4:      0f03e5a7        movi    v7.8b, #0x6d
+    81b8:      0f03e5c7        movi    v7.8b, #0x6e
+    81bc:      0f03e5e7        movi    v7.8b, #0x6f
+    81c0:      0f03e607        movi    v7.8b, #0x70
+    81c4:      0f03e627        movi    v7.8b, #0x71
+    81c8:      0f03e647        movi    v7.8b, #0x72
+    81cc:      0f03e667        movi    v7.8b, #0x73
+    81d0:      0f03e687        movi    v7.8b, #0x74
+    81d4:      0f03e6a7        movi    v7.8b, #0x75
+    81d8:      0f03e6c7        movi    v7.8b, #0x76
+    81dc:      0f03e6e7        movi    v7.8b, #0x77
+    81e0:      0f03e707        movi    v7.8b, #0x78
+    81e4:      0f03e727        movi    v7.8b, #0x79
+    81e8:      0f03e747        movi    v7.8b, #0x7a
+    81ec:      0f03e767        movi    v7.8b, #0x7b
+    81f0:      0f03e787        movi    v7.8b, #0x7c
+    81f4:      0f03e7a7        movi    v7.8b, #0x7d
+    81f8:      0f03e7c7        movi    v7.8b, #0x7e
+    81fc:      0f03e7e7        movi    v7.8b, #0x7f
+    8200:      0f04e407        movi    v7.8b, #0x80
+    8204:      0f04e427        movi    v7.8b, #0x81
+    8208:      0f04e447        movi    v7.8b, #0x82
+    820c:      0f04e467        movi    v7.8b, #0x83
+    8210:      0f04e487        movi    v7.8b, #0x84
+    8214:      0f04e4a7        movi    v7.8b, #0x85
+    8218:      0f04e4c7        movi    v7.8b, #0x86
+    821c:      0f04e4e7        movi    v7.8b, #0x87
+    8220:      0f04e507        movi    v7.8b, #0x88
+    8224:      0f04e527        movi    v7.8b, #0x89
+    8228:      0f04e547        movi    v7.8b, #0x8a
+    822c:      0f04e567        movi    v7.8b, #0x8b
+    8230:      0f04e587        movi    v7.8b, #0x8c
+    8234:      0f04e5a7        movi    v7.8b, #0x8d
+    8238:      0f04e5c7        movi    v7.8b, #0x8e
+    823c:      0f04e5e7        movi    v7.8b, #0x8f
+    8240:      0f04e607        movi    v7.8b, #0x90
+    8244:      0f04e627        movi    v7.8b, #0x91
+    8248:      0f04e647        movi    v7.8b, #0x92
+    824c:      0f04e667        movi    v7.8b, #0x93
+    8250:      0f04e687        movi    v7.8b, #0x94
+    8254:      0f04e6a7        movi    v7.8b, #0x95
+    8258:      0f04e6c7        movi    v7.8b, #0x96
+    825c:      0f04e6e7        movi    v7.8b, #0x97
+    8260:      0f04e707        movi    v7.8b, #0x98
+    8264:      0f04e727        movi    v7.8b, #0x99
+    8268:      0f04e747        movi    v7.8b, #0x9a
+    826c:      0f04e767        movi    v7.8b, #0x9b
+    8270:      0f04e787        movi    v7.8b, #0x9c
+    8274:      0f04e7a7        movi    v7.8b, #0x9d
+    8278:      0f04e7c7        movi    v7.8b, #0x9e
+    827c:      0f04e7e7        movi    v7.8b, #0x9f
+    8280:      0f05e407        movi    v7.8b, #0xa0
+    8284:      0f05e427        movi    v7.8b, #0xa1
+    8288:      0f05e447        movi    v7.8b, #0xa2
+    828c:      0f05e467        movi    v7.8b, #0xa3
+    8290:      0f05e487        movi    v7.8b, #0xa4
+    8294:      0f05e4a7        movi    v7.8b, #0xa5
+    8298:      0f05e4c7        movi    v7.8b, #0xa6
+    829c:      0f05e4e7        movi    v7.8b, #0xa7
+    82a0:      0f05e507        movi    v7.8b, #0xa8
+    82a4:      0f05e527        movi    v7.8b, #0xa9
+    82a8:      0f05e547        movi    v7.8b, #0xaa
+    82ac:      0f05e567        movi    v7.8b, #0xab
+    82b0:      0f05e587        movi    v7.8b, #0xac
+    82b4:      0f05e5a7        movi    v7.8b, #0xad
+    82b8:      0f05e5c7        movi    v7.8b, #0xae
+    82bc:      0f05e5e7        movi    v7.8b, #0xaf
+    82c0:      0f05e607        movi    v7.8b, #0xb0
+    82c4:      0f05e627        movi    v7.8b, #0xb1
+    82c8:      0f05e647        movi    v7.8b, #0xb2
+    82cc:      0f05e667        movi    v7.8b, #0xb3
+    82d0:      0f05e687        movi    v7.8b, #0xb4
+    82d4:      0f05e6a7        movi    v7.8b, #0xb5
+    82d8:      0f05e6c7        movi    v7.8b, #0xb6
+    82dc:      0f05e6e7        movi    v7.8b, #0xb7
+    82e0:      0f05e707        movi    v7.8b, #0xb8
+    82e4:      0f05e727        movi    v7.8b, #0xb9
+    82e8:      0f05e747        movi    v7.8b, #0xba
+    82ec:      0f05e767        movi    v7.8b, #0xbb
+    82f0:      0f05e787        movi    v7.8b, #0xbc
+    82f4:      0f05e7a7        movi    v7.8b, #0xbd
+    82f8:      0f05e7c7        movi    v7.8b, #0xbe
+    82fc:      0f05e7e7        movi    v7.8b, #0xbf
+    8300:      0f06e407        movi    v7.8b, #0xc0
+    8304:      0f06e427        movi    v7.8b, #0xc1
+    8308:      0f06e447        movi    v7.8b, #0xc2
+    830c:      0f06e467        movi    v7.8b, #0xc3
+    8310:      0f06e487        movi    v7.8b, #0xc4
+    8314:      0f06e4a7        movi    v7.8b, #0xc5
+    8318:      0f06e4c7        movi    v7.8b, #0xc6
+    831c:      0f06e4e7        movi    v7.8b, #0xc7
+    8320:      0f06e507        movi    v7.8b, #0xc8
+    8324:      0f06e527        movi    v7.8b, #0xc9
+    8328:      0f06e547        movi    v7.8b, #0xca
+    832c:      0f06e567        movi    v7.8b, #0xcb
+    8330:      0f06e587        movi    v7.8b, #0xcc
+    8334:      0f06e5a7        movi    v7.8b, #0xcd
+    8338:      0f06e5c7        movi    v7.8b, #0xce
+    833c:      0f06e5e7        movi    v7.8b, #0xcf
+    8340:      0f06e607        movi    v7.8b, #0xd0
+    8344:      0f06e627        movi    v7.8b, #0xd1
+    8348:      0f06e647        movi    v7.8b, #0xd2
+    834c:      0f06e667        movi    v7.8b, #0xd3
+    8350:      0f06e687        movi    v7.8b, #0xd4
+    8354:      0f06e6a7        movi    v7.8b, #0xd5
+    8358:      0f06e6c7        movi    v7.8b, #0xd6
+    835c:      0f06e6e7        movi    v7.8b, #0xd7
+    8360:      0f06e707        movi    v7.8b, #0xd8
+    8364:      0f06e727        movi    v7.8b, #0xd9
+    8368:      0f06e747        movi    v7.8b, #0xda
+    836c:      0f06e767        movi    v7.8b, #0xdb
+    8370:      0f06e787        movi    v7.8b, #0xdc
+    8374:      0f06e7a7        movi    v7.8b, #0xdd
+    8378:      0f06e7c7        movi    v7.8b, #0xde
+    837c:      0f06e7e7        movi    v7.8b, #0xdf
+    8380:      0f07e407        movi    v7.8b, #0xe0
+    8384:      0f07e427        movi    v7.8b, #0xe1
+    8388:      0f07e447        movi    v7.8b, #0xe2
+    838c:      0f07e467        movi    v7.8b, #0xe3
+    8390:      0f07e487        movi    v7.8b, #0xe4
+    8394:      0f07e4a7        movi    v7.8b, #0xe5
+    8398:      0f07e4c7        movi    v7.8b, #0xe6
+    839c:      0f07e4e7        movi    v7.8b, #0xe7
+    83a0:      0f07e507        movi    v7.8b, #0xe8
+    83a4:      0f07e527        movi    v7.8b, #0xe9
+    83a8:      0f07e547        movi    v7.8b, #0xea
+    83ac:      0f07e567        movi    v7.8b, #0xeb
+    83b0:      0f07e587        movi    v7.8b, #0xec
+    83b4:      0f07e5a7        movi    v7.8b, #0xed
+    83b8:      0f07e5c7        movi    v7.8b, #0xee
+    83bc:      0f07e5e7        movi    v7.8b, #0xef
+    83c0:      0f07e607        movi    v7.8b, #0xf0
+    83c4:      0f07e627        movi    v7.8b, #0xf1
+    83c8:      0f07e647        movi    v7.8b, #0xf2
+    83cc:      0f07e667        movi    v7.8b, #0xf3
+    83d0:      0f07e687        movi    v7.8b, #0xf4
+    83d4:      0f07e6a7        movi    v7.8b, #0xf5
+    83d8:      0f07e6c7        movi    v7.8b, #0xf6
+    83dc:      0f07e6e7        movi    v7.8b, #0xf7
+    83e0:      0f07e707        movi    v7.8b, #0xf8
+    83e4:      0f07e727        movi    v7.8b, #0xf9
+    83e8:      0f07e747        movi    v7.8b, #0xfa
+    83ec:      0f07e767        movi    v7.8b, #0xfb
+    83f0:      0f07e787        movi    v7.8b, #0xfc
+    83f4:      0f07e7a7        movi    v7.8b, #0xfd
+    83f8:      0f07e7c7        movi    v7.8b, #0xfe
+    83fc:      0f07e7e7        movi    v7.8b, #0xff
+    8400:      4f00e407        movi    v7.16b, #0x0
+    8404:      4f00e427        movi    v7.16b, #0x1
+    8408:      4f00e447        movi    v7.16b, #0x2
+    840c:      4f00e467        movi    v7.16b, #0x3
+    8410:      4f00e487        movi    v7.16b, #0x4
+    8414:      4f00e4a7        movi    v7.16b, #0x5
+    8418:      4f00e4c7        movi    v7.16b, #0x6
+    841c:      4f00e4e7        movi    v7.16b, #0x7
+    8420:      4f00e507        movi    v7.16b, #0x8
+    8424:      4f00e527        movi    v7.16b, #0x9
+    8428:      4f00e547        movi    v7.16b, #0xa
+    842c:      4f00e567        movi    v7.16b, #0xb
+    8430:      4f00e587        movi    v7.16b, #0xc
+    8434:      4f00e5a7        movi    v7.16b, #0xd
+    8438:      4f00e5c7        movi    v7.16b, #0xe
+    843c:      4f00e5e7        movi    v7.16b, #0xf
+    8440:      4f00e607        movi    v7.16b, #0x10
+    8444:      4f00e627        movi    v7.16b, #0x11
+    8448:      4f00e647        movi    v7.16b, #0x12
+    844c:      4f00e667        movi    v7.16b, #0x13
+    8450:      4f00e687        movi    v7.16b, #0x14
+    8454:      4f00e6a7        movi    v7.16b, #0x15
+    8458:      4f00e6c7        movi    v7.16b, #0x16
+    845c:      4f00e6e7        movi    v7.16b, #0x17
+    8460:      4f00e707        movi    v7.16b, #0x18
+    8464:      4f00e727        movi    v7.16b, #0x19
+    8468:      4f00e747        movi    v7.16b, #0x1a
+    846c:      4f00e767        movi    v7.16b, #0x1b
+    8470:      4f00e787        movi    v7.16b, #0x1c
+    8474:      4f00e7a7        movi    v7.16b, #0x1d
+    8478:      4f00e7c7        movi    v7.16b, #0x1e
+    847c:      4f00e7e7        movi    v7.16b, #0x1f
+    8480:      4f01e407        movi    v7.16b, #0x20
+    8484:      4f01e427        movi    v7.16b, #0x21
+    8488:      4f01e447        movi    v7.16b, #0x22
+    848c:      4f01e467        movi    v7.16b, #0x23
+    8490:      4f01e487        movi    v7.16b, #0x24
+    8494:      4f01e4a7        movi    v7.16b, #0x25
+    8498:      4f01e4c7        movi    v7.16b, #0x26
+    849c:      4f01e4e7        movi    v7.16b, #0x27
+    84a0:      4f01e507        movi    v7.16b, #0x28
+    84a4:      4f01e527        movi    v7.16b, #0x29
+    84a8:      4f01e547        movi    v7.16b, #0x2a
+    84ac:      4f01e567        movi    v7.16b, #0x2b
+    84b0:      4f01e587        movi    v7.16b, #0x2c
+    84b4:      4f01e5a7        movi    v7.16b, #0x2d
+    84b8:      4f01e5c7        movi    v7.16b, #0x2e
+    84bc:      4f01e5e7        movi    v7.16b, #0x2f
+    84c0:      4f01e607        movi    v7.16b, #0x30
+    84c4:      4f01e627        movi    v7.16b, #0x31
+    84c8:      4f01e647        movi    v7.16b, #0x32
+    84cc:      4f01e667        movi    v7.16b, #0x33
+    84d0:      4f01e687        movi    v7.16b, #0x34
+    84d4:      4f01e6a7        movi    v7.16b, #0x35
+    84d8:      4f01e6c7        movi    v7.16b, #0x36
+    84dc:      4f01e6e7        movi    v7.16b, #0x37
+    84e0:      4f01e707        movi    v7.16b, #0x38
+    84e4:      4f01e727        movi    v7.16b, #0x39
+    84e8:      4f01e747        movi    v7.16b, #0x3a
+    84ec:      4f01e767        movi    v7.16b, #0x3b
+    84f0:      4f01e787        movi    v7.16b, #0x3c
+    84f4:      4f01e7a7        movi    v7.16b, #0x3d
+    84f8:      4f01e7c7        movi    v7.16b, #0x3e
+    84fc:      4f01e7e7        movi    v7.16b, #0x3f
+    8500:      4f02e407        movi    v7.16b, #0x40
+    8504:      4f02e427        movi    v7.16b, #0x41
+    8508:      4f02e447        movi    v7.16b, #0x42
+    850c:      4f02e467        movi    v7.16b, #0x43
+    8510:      4f02e487        movi    v7.16b, #0x44
+    8514:      4f02e4a7        movi    v7.16b, #0x45
+    8518:      4f02e4c7        movi    v7.16b, #0x46
+    851c:      4f02e4e7        movi    v7.16b, #0x47
+    8520:      4f02e507        movi    v7.16b, #0x48
+    8524:      4f02e527        movi    v7.16b, #0x49
+    8528:      4f02e547        movi    v7.16b, #0x4a
+    852c:      4f02e567        movi    v7.16b, #0x4b
+    8530:      4f02e587        movi    v7.16b, #0x4c
+    8534:      4f02e5a7        movi    v7.16b, #0x4d
+    8538:      4f02e5c7        movi    v7.16b, #0x4e
+    853c:      4f02e5e7        movi    v7.16b, #0x4f
+    8540:      4f02e607        movi    v7.16b, #0x50
+    8544:      4f02e627        movi    v7.16b, #0x51
+    8548:      4f02e647        movi    v7.16b, #0x52
+    854c:      4f02e667        movi    v7.16b, #0x53
+    8550:      4f02e687        movi    v7.16b, #0x54
+    8554:      4f02e6a7        movi    v7.16b, #0x55
+    8558:      4f02e6c7        movi    v7.16b, #0x56
+    855c:      4f02e6e7        movi    v7.16b, #0x57
+    8560:      4f02e707        movi    v7.16b, #0x58
+    8564:      4f02e727        movi    v7.16b, #0x59
+    8568:      4f02e747        movi    v7.16b, #0x5a
+    856c:      4f02e767        movi    v7.16b, #0x5b
+    8570:      4f02e787        movi    v7.16b, #0x5c
+    8574:      4f02e7a7        movi    v7.16b, #0x5d
+    8578:      4f02e7c7        movi    v7.16b, #0x5e
+    857c:      4f02e7e7        movi    v7.16b, #0x5f
+    8580:      4f03e407        movi    v7.16b, #0x60
+    8584:      4f03e427        movi    v7.16b, #0x61
+    8588:      4f03e447        movi    v7.16b, #0x62
+    858c:      4f03e467        movi    v7.16b, #0x63
+    8590:      4f03e487        movi    v7.16b, #0x64
+    8594:      4f03e4a7        movi    v7.16b, #0x65
+    8598:      4f03e4c7        movi    v7.16b, #0x66
+    859c:      4f03e4e7        movi    v7.16b, #0x67
+    85a0:      4f03e507        movi    v7.16b, #0x68
+    85a4:      4f03e527        movi    v7.16b, #0x69
+    85a8:      4f03e547        movi    v7.16b, #0x6a
+    85ac:      4f03e567        movi    v7.16b, #0x6b
+    85b0:      4f03e587        movi    v7.16b, #0x6c
+    85b4:      4f03e5a7        movi    v7.16b, #0x6d
+    85b8:      4f03e5c7        movi    v7.16b, #0x6e
+    85bc:      4f03e5e7        movi    v7.16b, #0x6f
+    85c0:      4f03e607        movi    v7.16b, #0x70
+    85c4:      4f03e627        movi    v7.16b, #0x71
+    85c8:      4f03e647        movi    v7.16b, #0x72
+    85cc:      4f03e667        movi    v7.16b, #0x73
+    85d0:      4f03e687        movi    v7.16b, #0x74
+    85d4:      4f03e6a7        movi    v7.16b, #0x75
+    85d8:      4f03e6c7        movi    v7.16b, #0x76
+    85dc:      4f03e6e7        movi    v7.16b, #0x77
+    85e0:      4f03e707        movi    v7.16b, #0x78
+    85e4:      4f03e727        movi    v7.16b, #0x79
+    85e8:      4f03e747        movi    v7.16b, #0x7a
+    85ec:      4f03e767        movi    v7.16b, #0x7b
+    85f0:      4f03e787        movi    v7.16b, #0x7c
+    85f4:      4f03e7a7        movi    v7.16b, #0x7d
+    85f8:      4f03e7c7        movi    v7.16b, #0x7e
+    85fc:      4f03e7e7        movi    v7.16b, #0x7f
+    8600:      4f04e407        movi    v7.16b, #0x80
+    8604:      4f04e427        movi    v7.16b, #0x81
+    8608:      4f04e447        movi    v7.16b, #0x82
+    860c:      4f04e467        movi    v7.16b, #0x83
+    8610:      4f04e487        movi    v7.16b, #0x84
+    8614:      4f04e4a7        movi    v7.16b, #0x85
+    8618:      4f04e4c7        movi    v7.16b, #0x86
+    861c:      4f04e4e7        movi    v7.16b, #0x87
+    8620:      4f04e507        movi    v7.16b, #0x88
+    8624:      4f04e527        movi    v7.16b, #0x89
+    8628:      4f04e547        movi    v7.16b, #0x8a
+    862c:      4f04e567        movi    v7.16b, #0x8b
+    8630:      4f04e587        movi    v7.16b, #0x8c
+    8634:      4f04e5a7        movi    v7.16b, #0x8d
+    8638:      4f04e5c7        movi    v7.16b, #0x8e
+    863c:      4f04e5e7        movi    v7.16b, #0x8f
+    8640:      4f04e607        movi    v7.16b, #0x90
+    8644:      4f04e627        movi    v7.16b, #0x91
+    8648:      4f04e647        movi    v7.16b, #0x92
+    864c:      4f04e667        movi    v7.16b, #0x93
+    8650:      4f04e687        movi    v7.16b, #0x94
+    8654:      4f04e6a7        movi    v7.16b, #0x95
+    8658:      4f04e6c7        movi    v7.16b, #0x96
+    865c:      4f04e6e7        movi    v7.16b, #0x97
+    8660:      4f04e707        movi    v7.16b, #0x98
+    8664:      4f04e727        movi    v7.16b, #0x99
+    8668:      4f04e747        movi    v7.16b, #0x9a
+    866c:      4f04e767        movi    v7.16b, #0x9b
+    8670:      4f04e787        movi    v7.16b, #0x9c
+    8674:      4f04e7a7        movi    v7.16b, #0x9d
+    8678:      4f04e7c7        movi    v7.16b, #0x9e
+    867c:      4f04e7e7        movi    v7.16b, #0x9f
+    8680:      4f05e407        movi    v7.16b, #0xa0
+    8684:      4f05e427        movi    v7.16b, #0xa1
+    8688:      4f05e447        movi    v7.16b, #0xa2
+    868c:      4f05e467        movi    v7.16b, #0xa3
+    8690:      4f05e487        movi    v7.16b, #0xa4
+    8694:      4f05e4a7        movi    v7.16b, #0xa5
+    8698:      4f05e4c7        movi    v7.16b, #0xa6
+    869c:      4f05e4e7        movi    v7.16b, #0xa7
+    86a0:      4f05e507        movi    v7.16b, #0xa8
+    86a4:      4f05e527        movi    v7.16b, #0xa9
+    86a8:      4f05e547        movi    v7.16b, #0xaa
+    86ac:      4f05e567        movi    v7.16b, #0xab
+    86b0:      4f05e587        movi    v7.16b, #0xac
+    86b4:      4f05e5a7        movi    v7.16b, #0xad
+    86b8:      4f05e5c7        movi    v7.16b, #0xae
+    86bc:      4f05e5e7        movi    v7.16b, #0xaf
+    86c0:      4f05e607        movi    v7.16b, #0xb0
+    86c4:      4f05e627        movi    v7.16b, #0xb1
+    86c8:      4f05e647        movi    v7.16b, #0xb2
+    86cc:      4f05e667        movi    v7.16b, #0xb3
+    86d0:      4f05e687        movi    v7.16b, #0xb4
+    86d4:      4f05e6a7        movi    v7.16b, #0xb5
+    86d8:      4f05e6c7        movi    v7.16b, #0xb6
+    86dc:      4f05e6e7        movi    v7.16b, #0xb7
+    86e0:      4f05e707        movi    v7.16b, #0xb8
+    86e4:      4f05e727        movi    v7.16b, #0xb9
+    86e8:      4f05e747        movi    v7.16b, #0xba
+    86ec:      4f05e767        movi    v7.16b, #0xbb
+    86f0:      4f05e787        movi    v7.16b, #0xbc
+    86f4:      4f05e7a7        movi    v7.16b, #0xbd
+    86f8:      4f05e7c7        movi    v7.16b, #0xbe
+    86fc:      4f05e7e7        movi    v7.16b, #0xbf
+    8700:      4f06e407        movi    v7.16b, #0xc0
+    8704:      4f06e427        movi    v7.16b, #0xc1
+    8708:      4f06e447        movi    v7.16b, #0xc2
+    870c:      4f06e467        movi    v7.16b, #0xc3
+    8710:      4f06e487        movi    v7.16b, #0xc4
+    8714:      4f06e4a7        movi    v7.16b, #0xc5
+    8718:      4f06e4c7        movi    v7.16b, #0xc6
+    871c:      4f06e4e7        movi    v7.16b, #0xc7
+    8720:      4f06e507        movi    v7.16b, #0xc8
+    8724:      4f06e527        movi    v7.16b, #0xc9
+    8728:      4f06e547        movi    v7.16b, #0xca
+    872c:      4f06e567        movi    v7.16b, #0xcb
+    8730:      4f06e587        movi    v7.16b, #0xcc
+    8734:      4f06e5a7        movi    v7.16b, #0xcd
+    8738:      4f06e5c7        movi    v7.16b, #0xce
+    873c:      4f06e5e7        movi    v7.16b, #0xcf
+    8740:      4f06e607        movi    v7.16b, #0xd0
+    8744:      4f06e627        movi    v7.16b, #0xd1
+    8748:      4f06e647        movi    v7.16b, #0xd2
+    874c:      4f06e667        movi    v7.16b, #0xd3
+    8750:      4f06e687        movi    v7.16b, #0xd4
+    8754:      4f06e6a7        movi    v7.16b, #0xd5
+    8758:      4f06e6c7        movi    v7.16b, #0xd6
+    875c:      4f06e6e7        movi    v7.16b, #0xd7
+    8760:      4f06e707        movi    v7.16b, #0xd8
+    8764:      4f06e727        movi    v7.16b, #0xd9
+    8768:      4f06e747        movi    v7.16b, #0xda
+    876c:      4f06e767        movi    v7.16b, #0xdb
+    8770:      4f06e787        movi    v7.16b, #0xdc
+    8774:      4f06e7a7        movi    v7.16b, #0xdd
+    8778:      4f06e7c7        movi    v7.16b, #0xde
+    877c:      4f06e7e7        movi    v7.16b, #0xdf
+    8780:      4f07e407        movi    v7.16b, #0xe0
+    8784:      4f07e427        movi    v7.16b, #0xe1
+    8788:      4f07e447        movi    v7.16b, #0xe2
+    878c:      4f07e467        movi    v7.16b, #0xe3
+    8790:      4f07e487        movi    v7.16b, #0xe4
+    8794:      4f07e4a7        movi    v7.16b, #0xe5
+    8798:      4f07e4c7        movi    v7.16b, #0xe6
+    879c:      4f07e4e7        movi    v7.16b, #0xe7
+    87a0:      4f07e507        movi    v7.16b, #0xe8
+    87a4:      4f07e527        movi    v7.16b, #0xe9
+    87a8:      4f07e547        movi    v7.16b, #0xea
+    87ac:      4f07e567        movi    v7.16b, #0xeb
+    87b0:      4f07e587        movi    v7.16b, #0xec
+    87b4:      4f07e5a7        movi    v7.16b, #0xed
+    87b8:      4f07e5c7        movi    v7.16b, #0xee
+    87bc:      4f07e5e7        movi    v7.16b, #0xef
+    87c0:      4f07e607        movi    v7.16b, #0xf0
+    87c4:      4f07e627        movi    v7.16b, #0xf1
+    87c8:      4f07e647        movi    v7.16b, #0xf2
+    87cc:      4f07e667        movi    v7.16b, #0xf3
+    87d0:      4f07e687        movi    v7.16b, #0xf4
+    87d4:      4f07e6a7        movi    v7.16b, #0xf5
+    87d8:      4f07e6c7        movi    v7.16b, #0xf6
+    87dc:      4f07e6e7        movi    v7.16b, #0xf7
+    87e0:      4f07e707        movi    v7.16b, #0xf8
+    87e4:      4f07e727        movi    v7.16b, #0xf9
+    87e8:      4f07e747        movi    v7.16b, #0xfa
+    87ec:      4f07e767        movi    v7.16b, #0xfb
+    87f0:      4f07e787        movi    v7.16b, #0xfc
+    87f4:      4f07e7a7        movi    v7.16b, #0xfd
+    87f8:      4f07e7c7        movi    v7.16b, #0xfe
+    87fc:      4f07e7e7        movi    v7.16b, #0xff
+    8800:      6f07e7e0        movi    v0.2d, #0xffffffffffffffff
+    8804:      6f07e7e0        movi    v0.2d, #0xffffffffffffffff
+    8808:      6f07e7e0        movi    v0.2d, #0xffffffffffffffff
+    880c:      2f07e7ff        movi    d31, #0xffffffffffffffff
index 99ca34a0545d2674ae4f834efc7e1c72b9ca897e..a65079017861daf6895a88fe5be2989fa976103c 100644 (file)
        .endr
        .endr
 
+       // Shift zeros, per byte
+       // MOVI <Vd>.<T>, #<imm8>, LSL #0
+       // This used to be a programmer-friendly feature (allowing LSL #0),
+       // but it is now part of the architecture specification.
+       .irp    T, 8b, 16b
+       all_8bit_imm_movi_sft v7.\T, 0, 63, LSL, 0
+       all_8bit_imm_movi_sft v7.\T, 64, 127, LSL, 0
+       all_8bit_imm_movi_sft v7.\T, 128, 191, LSL, 0
+       all_8bit_imm_movi_sft v7.\T, 192, 255, LSL, 0
+       .endr
+
        movi    v0.2d, 18446744073709551615
        movi    v0.2d, -1
        movi    v0.2d, bignum
index 9dd93fe9c8dd409bc840037249d251be7d8ce1a8..6254c6476efdc848648b05068be0574e7addc85d 100644 (file)
@@ -6,7 +6,7 @@
        // The preferred architectural syntax does not accept the shifter
        // LSL or any other shift operator, when the destination register
        // has the shape of 16B or 8B.
-       movi    v0.16b, 97, lsl 0
+       movi    v0.16b, 97, lsl 0       // N.B.: this is now part of the architecture specification.
 
        // LDR Wt, label | =value
        // As a convenience assemblers will typically permit the notation
index f8b25c60d10975b729573d1d7ba8a57c6b56ff23..85a1a8f3033d11dfacb53813222eec271b3751f1 100644 (file)
@@ -1,3 +1,7 @@
+2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64.h (aarch64_op): Remove OP_V_MOVI_B.
+
 2013-01-10  Peter Bergner <bergner@vnet.ibm.com>
 
        * ppc.h (PPC_OPCODE_POWER8): New define.
index 3a26199a13280e3deac52aadef21f9cba73b8bb4..9005c8cdd0146782e84d56dc30e723db6e732985 100644 (file)
@@ -409,8 +409,6 @@ enum aarch64_op
   OP_UXTH,
   OP_UXTW,
 
-  OP_V_MOVI_B,
-
   OP_CINC,
   OP_CINV,
   OP_CNEG,
index 45f3e326b7a3cb3e47af65747613bc5b4501b990..c593d9dbd40ed255915b05c339e5552aff386112 100644 (file)
@@ -1,3 +1,16 @@
+2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64-asm.c (aarch64_ins_advsimd_imm_modified): Handle 8-bit MOVI.
+       * aarch64-dis.c (aarch64_ext_advsimd_imm_modified): Likewise.
+       * aarch64-opc.c (operand_general_constraint_met_p): For
+       AARCH64_MOD_LSL, move the range check on the shift amount before the 
+       alignment check; change to call set_sft_amount_out_of_range_error
+       instead of set_imm_out_of_range_error.
+       * aarch64-tbl.h (QL_SIMD_IMM_B): Replace NIL with LSL.
+       (aarch64_opcode_table): Remove the OP enumerator from the asimdimm
+       8-bit MOVI entry; change the 2nd operand from SIMD_IMM to
+       SIMD_IMM_SFT.
+
 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
 
        * i386-gen.c (operand_type_init): Add OPERAND_TYPE_IMM32_64.
index 3a6e7b11d986cda6bb479b39d99d33d8ffb9ec30..4c1c5216b76902f18c7e33a3b8f89caf1dcc0739 100644 (file)
@@ -382,7 +382,11 @@ aarch64_ins_advsimd_imm_modified (const aarch64_operand *self ATTRIBUTE_UNUSED,
     {
       /* AARCH64_MOD_LSL: shift zeros.  */
       int esize = aarch64_get_qualifier_esize (opnd0_qualifier);
-      assert (esize == 4 || esize == 2);
+      assert (esize == 4 || esize == 2 || esize == 1);
+      /* For 8-bit move immediate, the optional LSL #0 does not require
+        encoding.  */
+      if (esize == 1)
+       return NULL;
       amount >>= 3;
       if (esize == 4)
        gen_sub_field (FLD_cmode, 1, 2, &field);        /* per word */
index 84b7b0a3eb837d3fc28c77ba317e2397d832cacb..bbd5a3e8a46430ed728c8544eb50b63d92e7c59b 100644 (file)
@@ -642,6 +642,7 @@ aarch64_ext_advsimd_imm_modified (const aarch64_operand *self ATTRIBUTE_UNUSED,
        {
        case 4: gen_sub_field (FLD_cmode, 1, 2, &field); break; /* per word */
        case 2: gen_sub_field (FLD_cmode, 1, 1, &field); break; /* per half */
+       case 1: gen_sub_field (FLD_cmode, 1, 0, &field); break; /* per byte */
        default: assert (0); return 0;
        }
       /* 00: 0; 01: 8; 10:16; 11:24.  */
index 72ecf5b61e59736903f46ae01db00b5089ae6cfc..4bcb9eafbc15c402acbca8a67f7e18f5fda72027 100644 (file)
@@ -1745,15 +1745,15 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
            {
            case AARCH64_MOD_LSL:
              size = aarch64_get_qualifier_esize (opnds[0].qualifier);
-             if (!value_aligned_p (opnd->shifter.amount, 8))
+             if (!value_in_range_p (opnd->shifter.amount, 0, (size - 1) * 8))
                {
-                 set_unaligned_error (mismatch_detail, idx, 8);
+                 set_sft_amount_out_of_range_error (mismatch_detail, idx, 0,
+                                                    (size - 1) * 8);
                  return 0;
                }
-             if (!value_in_range_p (opnd->shifter.amount, 0, (size - 1) * 8))
+             if (!value_aligned_p (opnd->shifter.amount, 8))
                {
-                 set_imm_out_of_range_error (mismatch_detail, idx, 0,
-                                             (size - 1) * 8);
+                 set_unaligned_error (mismatch_detail, idx, 8);
                  return 0;
                }
              break;
index fd38a9d9f2071aecaca181032deb0930ad90b494..e2906f8312eeb2738ae28efcb8473afaf839d144 100644 (file)
   QLF2(V_4S, NIL),             \
 }
 
-/* e.g. MOVI <Vd>.8B, #<imm8>.  */
+/* e.g. MOVI <Vd>.8B, #<imm8> {, LSL #<amount>}.  */
 #define QL_SIMD_IMM_B          \
 {                              \
-  QLF2(V_8B, NIL),             \
-  QLF2(V_16B, NIL),            \
+  QLF2(V_8B, LSL),             \
+  QLF2(V_16B, LSL),            \
 }
 /* e.g. MOVI <Dd>, #<imm>.  */
 #define QL_SIMD_IMM_D          \
@@ -1341,7 +1341,7 @@ struct aarch64_opcode aarch64_opcode_table[] =
   {"movi", 0xf008400, 0xbff8dc00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0H, F_SIZEQ},
   {"orr", 0xf009400, 0xbff8dc00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0H, F_SIZEQ},
   {"movi", 0xf00c400, 0xbff8ec00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S1W, F_SIZEQ},
-  {"movi", 0xf00e400, 0xbff8fc00, asimdimm, OP_V_MOVI_B, SIMD, OP2 (Vd, SIMD_IMM), QL_SIMD_IMM_B, F_SIZEQ},
+  {"movi", 0xf00e400, 0xbff8fc00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_B, F_SIZEQ},
   {"fmov", 0xf00f400, 0xbff8fc00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_FPIMM), QL_SIMD_IMM_S, F_SIZEQ},
   {"mvni", 0x2f000400, 0xbff89c00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0W, F_SIZEQ},
   {"bic", 0x2f001400, 0xbff89c00, asimdimm, 0, SIMD, OP2 (Vd, SIMD_IMM_SFT), QL_SIMD_IMM_S0W, F_SIZEQ},
This page took 0.057308 seconds and 4 git commands to generate.