From: Uros Bizjak Date: Thu, 5 May 2011 11:43:14 +0000 (+0200) Subject: i386.md (*movdf_internal_rex64): Simplify nested "if" conditions. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=386d9c5719c64ff748fcdaa2c0b5452c2180cec7;p=gcc.git i386.md (*movdf_internal_rex64): Simplify nested "if" conditions. * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if" conditions. (*movdf_internal): Ditto. (*movdf_internal_nointeger): Ditto. (*movsf_internal): Ditto. From-SVN: r173423 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e127a736e55..838f6b04e74 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-05-05 Uros Bizjak + + * 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 * 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 - 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 @@ -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 c1daed6051d..c5595f0a5a1 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}";