Sun Sep 16 07:26:31 2012 UTC ()
Fix gcc bugid 51408 for arm.


(msaitoh)
diff -r1.3 -r1.4 src/external/gpl3/gcc/dist/gcc/ChangeLog
diff -r1.1.1.1 -r1.2 src/external/gpl3/gcc/dist/gcc/config/arm/arm.md

cvs diff -r1.3 -r1.4 src/external/gpl3/gcc/dist/gcc/ChangeLog (expand / switch to unified diff)

--- src/external/gpl3/gcc/dist/gcc/ChangeLog 2012/06/17 13:43:30 1.3
+++ src/external/gpl3/gcc/dist/gcc/ChangeLog 2012/09/16 07:26:30 1.4
@@ -1,13 +1,23 @@ @@ -1,13 +1,23 @@
 12011-12-09 Kazu Hirata <kazu@codesourcery.com>
 2
 3 Backport from mainline:
 4
 5 2011-12-05 Kazu Hirata <kazu@codesourcery.com>
 6
 7 PR target/51408
 8 * config/arm/arm.md (*minmax_arithsi): Always require the else
 9 clause in the MINUS case.
 10
12011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 112011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2 12
3 PR target/50691 13 PR target/50691
4 * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references. 14 * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol references.
5 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for 15 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Return false for
6 TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references. 16 TLS_MODEL_GLOBAL_DYNAMIC and TLS_MODEL_LOCAL_DYNAMIC symbol references.
7 17
82011-06-17 Hans-Peter Nilsson <hp@axis.com> 182011-06-17 Hans-Peter Nilsson <hp@axis.com>
9 19
10 Backport from mainline 20 Backport from mainline
11 2011-06-17 Hans-Peter Nilsson <hp@axis.com> 21 2011-06-17 Hans-Peter Nilsson <hp@axis.com>
12 22
13 PR rtl-optimization/48542 23 PR rtl-optimization/48542

cvs diff -r1.1.1.1 -r1.2 src/external/gpl3/gcc/dist/gcc/config/arm/arm.md (expand / switch to unified diff)

--- src/external/gpl3/gcc/dist/gcc/config/arm/arm.md 2011/06/21 01:22:22 1.1.1.1
+++ src/external/gpl3/gcc/dist/gcc/config/arm/arm.md 2012/09/16 07:26:31 1.2
@@ -3124,27 +3124,27 @@ @@ -3124,27 +3124,27 @@
3124 (match_operator:SI 4 "shiftable_operator" 3124 (match_operator:SI 4 "shiftable_operator"
3125 [(match_operator:SI 5 "minmax_operator" 3125 [(match_operator:SI 5 "minmax_operator"
3126 [(match_operand:SI 2 "s_register_operand" "r,r") 3126 [(match_operand:SI 2 "s_register_operand" "r,r")
3127 (match_operand:SI 3 "arm_rhs_operand" "rI,rI")]) 3127 (match_operand:SI 3 "arm_rhs_operand" "rI,rI")])
3128 (match_operand:SI 1 "s_register_operand" "0,?r")])) 3128 (match_operand:SI 1 "s_register_operand" "0,?r")]))
3129 (clobber (reg:CC CC_REGNUM))] 3129 (clobber (reg:CC CC_REGNUM))]
3130 "TARGET_32BIT && !arm_eliminable_register (operands[1])" 3130 "TARGET_32BIT && !arm_eliminable_register (operands[1])"
3131 "* 3131 "*
3132 { 3132 {
3133 enum rtx_code code = GET_CODE (operands[4]); 3133 enum rtx_code code = GET_CODE (operands[4]);
3134 bool need_else; 3134 bool need_else;
3135 3135
3136 if (which_alternative != 0 || operands[3] != const0_rtx 3136 if (which_alternative != 0 || operands[3] != const0_rtx
3137 || (code != PLUS && code != MINUS && code != IOR && code != XOR)) 3137 || (code != PLUS && code != IOR && code != XOR))
3138 need_else = true; 3138 need_else = true;
3139 else 3139 else
3140 need_else = false; 3140 need_else = false;
3141 3141
3142 operands[5] = gen_rtx_fmt_ee (minmax_code (operands[5]), SImode, 3142 operands[5] = gen_rtx_fmt_ee (minmax_code (operands[5]), SImode,
3143 operands[2], operands[3]); 3143 operands[2], operands[3]);
3144 output_asm_insn (\"cmp\\t%2, %3\", operands); 3144 output_asm_insn (\"cmp\\t%2, %3\", operands);
3145 if (TARGET_THUMB2) 3145 if (TARGET_THUMB2)
3146 { 3146 {
3147 if (need_else) 3147 if (need_else)
3148 output_asm_insn (\"ite\\t%d5\", operands); 3148 output_asm_insn (\"ite\\t%d5\", operands);
3149 else 3149 else
3150 output_asm_insn (\"it\\t%d5\", operands); 3150 output_asm_insn (\"it\\t%d5\", operands);