From: Uros Bizjak Date: Sun, 24 Mar 2013 22:22:21 +0000 (+0100) Subject: mmx.md (mov): Add ?!Ym,r and r,?!Ym alternatives. X-Git-Tag: upstream/12.2.0~70710 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=acef5fe00e405d05cd02ba9814c93b18a105e70b;p=platform%2Fupstream%2Fgcc.git mmx.md (mov): Add ?!Ym,r and r,?!Ym alternatives. * config/i386/mmx.md (mov): Add ?!Ym,r and r,?!Ym alternatives. From-SVN: r197024 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b5025ac..08458ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,10 @@ 2013-03-24 Uros Bizjak - * config/i386/sse.md (mov): Merge with movv2sf expander + * config/i386/mmx.md (mov): Add ?!Ym,r and r,?!Ym alternatives. + +2013-03-24 Uros Bizjak + + * config/i386/mmx.md (mov): Merge with movv2sf expander using MMXMODE mode iterator. (*move_internal): Merge with *movv2sf_internal and *movv2sf_internal_rex64 using MMXMODE mode iterator. diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 5a72faf..fb75d49 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -78,9 +78,9 @@ (define_insn "*mov_internal" [(set (match_operand:MMXMODE 0 "nonimmediate_operand" - "=r ,o ,r,r ,m ,!?y,!y,!?y,m ,x,x,x,m,*x,*x,*x,m ,r ,Yi,!Ym,*Yi") + "=r ,o ,r,r ,m ,?!y,!y,?!y,m ,r ,?!Ym,x,x,x,m,*x,*x,*x,m ,r ,Yi,!Ym,*Yi") (match_operand:MMXMODE 1 "vector_move_operand" - "rCo,rC,C,rm,rC,C ,!y,m ,!?y,C,x,m,x,C ,*x,m ,*x,Yi,r ,*Yi,!Ym"))] + "rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!Ym,r ,C,x,m,x,C ,*x,m ,*x,Yi,r ,*Yi,!Ym"))] "TARGET_MMX && !(MEM_P (operands[0]) && MEM_P (operands[1]))" { @@ -146,7 +146,7 @@ [(set (attr "isa") (cond [(eq_attr "alternative" "0,1") (const_string "nox64") - (eq_attr "alternative" "2,3,4,9,10,11,12,17,18") + (eq_attr "alternative" "2,3,4,9,10,11,12,13,14,19,20") (const_string "x64") ] (const_string "*"))) @@ -157,16 +157,16 @@ (const_string "imov") (eq_attr "alternative" "5") (const_string "mmx") - (eq_attr "alternative" "6,7,8") + (eq_attr "alternative" "6,7,8,9,10") (const_string "mmxmov") - (eq_attr "alternative" "9,13") + (eq_attr "alternative" "11,15") (const_string "sselog1") - (eq_attr "alternative" "19,20") + (eq_attr "alternative" "21,22") (const_string "ssecvt") ] (const_string "ssemov"))) (set (attr "prefix_rex") - (if_then_else (eq_attr "alternative" "17,18") + (if_then_else (eq_attr "alternative" "9,10,19,20") (const_string "1") (const_string "*"))) (set (attr "prefix") @@ -181,7 +181,7 @@ (set (attr "mode") (cond [(eq_attr "alternative" "2") (const_string "SI") - (eq_attr "alternative" "9,10,13,14") + (eq_attr "alternative" "11,12,15,16") (cond [(match_test "mode == V2SFmode") (const_string "V4SF") (ior (not (match_test "TARGET_SSE2")) @@ -194,7 +194,7 @@ ] (const_string "TI")) - (and (eq_attr "alternative" "11,12,15,16") + (and (eq_attr "alternative" "13,14,17,18") (ior (match_test "mode == V2SFmode") (not (match_test "TARGET_SSE2")))) (const_string "V2SF")