aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@codesourcery.com>2010-07-03 01:00:37 +0000
committerSandra Loosemore <sandra@gcc.gnu.org>2010-07-02 21:00:37 -0400
commit73160ba9dc7be367d91f286eb5b07cb8af4a79bc (patch)
treea0af68d8ac04351704260ecd0693e4526a5d9616 /gcc/gimplify.c
parent400cfcf50e5aeae792e8ef39a743b1cb6fafedd5 (diff)
downloadgcc-73160ba9dc7be367d91f286eb5b07cb8af4a79bc.zip
gcc-73160ba9dc7be367d91f286eb5b07cb8af4a79bc.tar.gz
gcc-73160ba9dc7be367d91f286eb5b07cb8af4a79bc.tar.bz2
arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.
2010-07-02 Daniel Jacobowitz <dan@codesourcery.com> Julian Brown <julian@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons. Adjust to take both operands. (arm_select_cc_mode): Handle DImode comparisons. (arm_gen_compare_reg): Generate a scratch register for DImode comparisons which require one. Use xor for Thumb equality checks. (arm_const_double_by_immediates): New. (arm_print_operand): Allow 'Q' and 'R' for constants. (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode. * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use arm_canonicalize_comparison. * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode. * config/arm/arm-protos.h (arm_canonicalize_comparison): Update prototype. (arm_const_double_by_immediates): Declare. * config/arm/constraints.md (Di): New constraint. * config/arm/predicates.md (arm_immediate_di_operand) (arm_di_operand, cmpdi_operand): New. * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also. (*arm_cmpdi_insn, *arm_cmpdi_unsigned) (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns. (cstoredi4): Handle non-Cirrus also. gcc/testsuite/ * gcc.c-torture/execute/20100416-1.c: New test case. Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r161764
Diffstat (limited to 'gcc/gimplify.c')
0 files changed, 0 insertions, 0 deletions