aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog23
-rw-r--r--gcc/config/i386/i386.md110
2 files changed, 50 insertions, 83 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e127a73..838f6b0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2011-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
+ conditions.
+ (*movdf_internal): Ditto.
+ (*movdf_internal_nointeger): Ditto.
+ (*movsf_internal): Ditto.
+
2011-05-05 Joseph Myers <joseph@codesourcery.com>
* c-decl.c (finish_decl): Don't call get_pending_sizes.
@@ -17,20 +25,18 @@
get_pending_sizes. Update calls to get_parm_info.
(c_parser_objc_method_definition): Update calls to
c_parser_objc_method_decl and objc_start_method_definition.
- (c_parser_objc_methodproto): Update call to
- c_parser_objc_method_decl.
+ (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
(c_parser_objc_method_decl): Add parameter expr. Update call to
grokparm.
- (c_parser_objc_try_catch_finally_statement): Update call to
- grokparm.
+ (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
* c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
(get_parm_info, grokparm, push_parm_decl): Update prototypes.
2011-05-05 Michael Hope <michael.hope@linaro.org>
- PR pch/45979
- * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
- __ARM_EABI__ hosts.
+ PR pch/45979
+ * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
+ __ARM_EABI__ hosts.
2011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
@@ -49,8 +55,7 @@
* ipa-inline.c (reset_edge_caches): New function.
(update_caller_keys): Add check_inlinablity_for; do not
reset edge caches; remove now unnecesary loop.
- (update_callee_keys): Add comments; reset
- node_growth_cache of callee.
+ (update_callee_keys): Add comments; reset node_growth_cache of callee.
(update_all_callee_keys): Likewise.
(inline_small_functions): Sanity check cache; update code
recomputing it.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index c1daed6..c5595f0 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1893,15 +1893,15 @@
{
if (get_attr_mode (insn) == MODE_V4SF)
return "%vmovups\t{%1, %0|%0, %1}";
- else
- return "%vmovdqu\t{%1, %0|%0, %1}";
+ else
+ return "%vmovdqu\t{%1, %0|%0, %1}";
}
else
{
if (get_attr_mode (insn) == MODE_V4SF)
return "%vmovaps\t{%1, %0|%0, %1}";
- else
- return "%vmovdqa\t{%1, %0|%0, %1}";
+ else
+ return "%vmovdqa\t{%1, %0|%0, %1}";
}
default:
gcc_unreachable ();
@@ -1956,15 +1956,15 @@
{
if (get_attr_mode (insn) == MODE_V4SF)
return "%vmovups\t{%1, %0|%0, %1}";
- else
- return "%vmovdqu\t{%1, %0|%0, %1}";
+ else
+ return "%vmovdqu\t{%1, %0|%0, %1}";
}
else
{
if (get_attr_mode (insn) == MODE_V4SF)
return "%vmovaps\t{%1, %0|%0, %1}";
- else
- return "%vmovdqa\t{%1, %0|%0, %1}";
+ else
+ return "%vmovdqa\t{%1, %0|%0, %1}";
}
default:
gcc_unreachable ();
@@ -2004,13 +2004,15 @@
/* Handle broken assemblers that require movd instead of movq. */
if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
return "%vmovd\t{%1, %0|%0, %1}";
- return "%vmovq\t{%1, %0|%0, %1}";
+ else
+ return "%vmovq\t{%1, %0|%0, %1}";
case TYPE_MMXMOV:
/* Handle broken assemblers that require movd instead of movq. */
if (GENERAL_REG_P (operands[0]) || GENERAL_REG_P (operands[1]))
return "movd\t{%1, %0|%0, %1}";
- return "movq\t{%1, %0|%0, %1}";
+ else
+ return "movq\t{%1, %0|%0, %1}";
case TYPE_SSELOG1:
return "%vpxor\t%0, %d0";
@@ -3001,15 +3003,10 @@
case MODE_DI:
return "%vmovq\t{%1, %0|%0, %1}";
case MODE_DF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]) && REG_P (operands[1]))
- return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovsd\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
+ return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
else
- return "movsd\t{%1, %0|%0, %1}";
+ return "%vmovsd\t{%1, %0|%0, %1}";
case MODE_V1DF:
return "%vmovlpd\t{%1, %d0|%d0, %1}";
case MODE_V2SF:
@@ -3164,35 +3161,20 @@
case MODE_DI:
return "%vmovq\t{%1, %0|%0, %1}";
case MODE_DF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]) && REG_P (operands[1]))
- return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovsd\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
+ return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
else
- return "movsd\t{%1, %0|%0, %1}";
+ return "%vmovsd\t{%1, %0|%0, %1}";
case MODE_V1DF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]))
- return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovlpd\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]))
+ return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
else
- return "movlpd\t{%1, %0|%0, %1}";
+ return "%vmovlpd\t{%1, %0|%0, %1}";
case MODE_V2SF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]))
- return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovlps\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]))
+ return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
else
- return "movlps\t{%1, %0|%0, %1}";
+ return "%vmovlps\t{%1, %0|%0, %1}";
default:
gcc_unreachable ();
}
@@ -3336,35 +3318,20 @@
case MODE_DI:
return "%vmovq\t{%1, %0|%0, %1}";
case MODE_DF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]) && REG_P (operands[1]))
- return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovsd\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]) && REG_P (operands[1]))
+ return "vmovsd\t{%1, %0, %0|%0, %0, %1}";
else
- return "movsd\t{%1, %0|%0, %1}";
+ return "%vmovsd\t{%1, %0|%0, %1}";
case MODE_V1DF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]))
- return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovlpd\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]))
+ return "vmovlpd\t{%1, %0, %0|%0, %0, %1}";
else
- return "movlpd\t{%1, %0|%0, %1}";
+ return "%vmovlpd\t{%1, %0|%0, %1}";
case MODE_V2SF:
- if (TARGET_AVX)
- {
- if (REG_P (operands[0]))
- return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovlps\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[0]))
+ return "vmovlps\t{%1, %0, %0|%0, %0, %1}";
else
- return "movlps\t{%1, %0|%0, %1}";
+ return "%vmovlps\t{%1, %0|%0, %1}";
default:
gcc_unreachable ();
}
@@ -3483,15 +3450,10 @@
else
return "%vmovss\t{%1, %d0|%d0, %1}";
case 7:
- if (TARGET_AVX)
- {
- if (REG_P (operands[1]))
- return "vmovss\t{%1, %0, %0|%0, %0, %1}";
- else
- return "vmovss\t{%1, %0|%0, %1}";
- }
+ if (TARGET_AVX && REG_P (operands[1]))
+ return "vmovss\t{%1, %0, %0|%0, %0, %1}";
else
- return "movss\t{%1, %0|%0, %1}";
+ return "%vmovss\t{%1, %0|%0, %1}";
case 8:
return "%vmovss\t{%1, %0|%0, %1}";