From cc1df30bb15bcd10e297253d0d63bf62ceebddd3 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 21 Mar 2013 21:22:12 +0100 Subject: [PATCH] i386.md (*movdi_internal): Disparage slightly all MMX moves to/from memory. * config/i386/i386.md (*movdi_internal): Disparage slightly all MMX moves to/from memory. Use Yi instead of x for SSE-MMX conversion alternatives. From-SVN: r196888 --- gcc/ChangeLog | 15 +++++++++------ gcc/config/i386/i386.md | 10 ++++------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8877f65..da851ad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-03-21 Uros Bizjak + + * config/i386/i386.md (*movdi_internal): Disparage slightly + all MMX moves to/from memory. Use Yi instead of x for SSE-MMX + conversion alternatives. + 2013-03-21 Jakub Jelinek PR middle-end/48087 @@ -53,8 +59,7 @@ (refs_independent_p): Do not test for unanalyzed mems here. (ref_indep_loop_p_1): Special-case disambiguation against the unanalyzed ref. - (ref_indep_loop_p): Assert we are not queried for the - unanalyzed mem. + (ref_indep_loop_p): Assert we are not queried for the unanalyzed mem. 2013-03-21 Christophe Lyon @@ -70,8 +75,7 @@ * config/arm/arm.h (TARGET_PREFER_NEON_64BITS): New macro. (prefer_neon_for_64bits): Declare new variable. * config/arm/arm.md (arch): Rename neon_onlya8 and neon_nota8 to - avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and - nota8. + avoid_neon_for_64bits and neon_for_64bits. Remove onlya8 and nota8. (arch_enabled): Handle new arch types. Remove support for onlya8 and nota8. (one_cmpldi2): Use new arch names. @@ -88,8 +92,7 @@ PR tree-optimization/39326 * tree-ssa-loop-im.c (bb_loop_postorder): New global static. (sort_bbs_in_loop_postorder_cmp): New function. - (gather_mem_refs_in_loops): Assign mem-ref IDs in loop - postorder. + (gather_mem_refs_in_loops): Assign mem-ref IDs in loop postorder. 2013-03-21 Richard Biener diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index d622346..69354d5 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1864,9 +1864,9 @@ (define_insn "*movdi_internal" [(set (match_operand:DI 0 "nonimmediate_operand" - "=r ,o ,r,r ,r,m ,*y,m*y,*y,?*y,?r ,?*Ym,*x,*x,*x,m ,?r ,?*Yi,?*x,?*Ym") + "=r ,o ,r,r ,r,m ,*y,*y,?*y,?m,?r ,?*Ym,*x,*x,*x,m ,?r ,?*Yi,?*Ym,?*Yi") (match_operand:DI 1 "general_operand" - "riFo,riF,Z,rem,i,re,C ,*y ,m ,m ,*Ym,r ,C ,*x,m ,*x,*Yi,r ,*Ym,*x"))] + "riFo,riF,Z,rem,i,re,C ,*y,m ,*y,*Ym,r ,C ,*x,m ,*x,*Yi,r ,*Yi ,*Ym"))] "!(MEM_P (operands[0]) && MEM_P (operands[1]))" { switch (get_attr_type (insn)) @@ -1936,12 +1936,10 @@ } } [(set (attr "isa") - (cond [(eq_attr "alternative" "0,1,8") + (cond [(eq_attr "alternative" "0,1") (const_string "nox64") - (eq_attr "alternative" "2,3,4,5,9,10,11,16,17") + (eq_attr "alternative" "2,3,4,5,10,11,16,17") (const_string "x64") - (eq_attr "alternative" "18,19") - (const_string "sse2") ] (const_string "*"))) (set (attr "type") -- 2.7.4