aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2004-03-13 11:19:23 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2004-03-13 11:19:23 +0000
commit1e1ab407a6566b4ba6dc4601dc957e27997dd24a (patch)
treedbf7c69580904f9cdf1218fe8977cffd36e519a0 /gcc/expr.c
parentfa78dbea45b2043cee909f2d2e02d99997ee9baf (diff)
downloadgcc-1e1ab407a6566b4ba6dc4601dc957e27997dd24a.zip
gcc-1e1ab407a6566b4ba6dc4601dc957e27997dd24a.tar.gz
gcc-1e1ab407a6566b4ba6dc4601dc957e27997dd24a.tar.bz2
arm.c (arm_legitimate_address_p): New argument, OUTER.
* arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through to arm_legitimate_index_p. Update all callers with SET as default value. (arm_legitimate_index_p): New argument, OUTER. Restrict the index range if OUTER is a sign-extend operation on QImode. Correctly reject shift operations on sign-extended QImode addresses. (bad_signed_byte_operand): Delete. (arm_extendqisi_mem_op): New function. * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with... (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address constraints. (CONSTRAINT_LEN): New. (EXTRA_CONSTRAINT): Delete. Replace with... (EXTRA_CONSTRAINT_STR): ... this. (PREDICATE_CODES): Remove bad_signed_byte_operand. * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length is now always default. (define_splits for bad sign-extend loads): Delete. (arm_extendqisi, arm_extendqisi_v5): Likewise. * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp): Rework 'U' constraint to 'Uv'. * arm-protos.h: Remove bad_signed_byte_operand. Add arm_extendqisi_mem_op. * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv). Add Uq constraint. From-SVN: r79440
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions