2012-09-17 Yufeng Zhang <yufeng.zhang@arm.com>
authorRichard Earnshaw <richard.earnshaw@arm.com>
Mon, 17 Sep 2012 17:43:42 +0000 (17:43 +0000)
committerRichard Earnshaw <richard.earnshaw@arm.com>
Mon, 17 Sep 2012 17:43:42 +0000 (17:43 +0000)
* aarch64-asm.c (aarch64_ins_imm_half): Remove ATTRIBUTE_UNUSED from
the parameter 'inst'.
(aarch64_ins_addr_simm): Add ATTRIBUTE_UNUSED to the parameter 'inst'.
(convert_mov_to_movewide): Change to assert (0) when
aarch64_wide_constant_p returns FALSE.

opcodes/ChangeLog
opcodes/aarch64-asm.c

index 102f5df..ab543ca 100644 (file)
@@ -1,3 +1,11 @@
+2012-09-17  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64-asm.c (aarch64_ins_imm_half): Remove ATTRIBUTE_UNUSED from
+       the parameter 'inst'.
+       (aarch64_ins_addr_simm): Add ATTRIBUTE_UNUSED to the parameter 'inst'.
+       (convert_mov_to_movewide): Change to assert (0) when
+       aarch64_wide_constant_p returns FALSE.
+
 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
 
        * configure: Regenerate.
index e10240a..006b075 100644 (file)
@@ -336,8 +336,7 @@ aarch64_ins_imm (const aarch64_operand *self, const aarch64_opnd_info *info,
      MOVZ <Wd>, #<imm16>{, LSL #<shift>}.  */
 const char *
 aarch64_ins_imm_half (const aarch64_operand *self, const aarch64_opnd_info *info,
-                     aarch64_insn *code,
-                     const aarch64_inst *inst ATTRIBUTE_UNUSED)
+                     aarch64_insn *code, const aarch64_inst *inst)
 {
   /* imm16 */
   aarch64_ins_imm (self, info, code, inst);
@@ -532,7 +531,8 @@ aarch64_ins_addr_regoff (const aarch64_operand *self ATTRIBUTE_UNUSED,
 const char *
 aarch64_ins_addr_simm (const aarch64_operand *self,
                       const aarch64_opnd_info *info,
-                      aarch64_insn *code, const aarch64_inst *inst)
+                      aarch64_insn *code,
+                      const aarch64_inst *inst ATTRIBUTE_UNUSED)
 {
   int imm;
 
@@ -1090,8 +1090,9 @@ convert_mov_to_movewide (aarch64_inst *inst)
     }
   inst->operands[1].type = AARCH64_OPND_HALF;
   is32 = inst->operands[0].qualifier == AARCH64_OPND_QLF_W;
-  /* This should have been guaranteed by the constraint check.  */
-  assert (aarch64_wide_constant_p (value, is32, &shift_amount) == TRUE);
+  if (! aarch64_wide_constant_p (value, is32, &shift_amount))
+    /* The constraint check should have guaranteed this wouldn't happen.  */
+    assert (0);
   value >>= shift_amount;
   value &= 0xffff;
   inst->operands[1].imm.value = value;