diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-24 22:22:21 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-24 22:22:21 +0000 |
commit | 83b62e997e261390902d4f4fb63f38c268e8a989 (patch) | |
tree | 76011f3faf36767768e4ca754afd50db8286c082 /gcc/config/i386/mmx.md | |
parent | 7da6f0f20ce2e6db82aa56a6c371e4f07dba2895 (diff) | |
download | gcc-83b62e997e261390902d4f4fb63f38c268e8a989.tar.gz |
* config/i386/mmx.md (mov<mode>): Add ?!Ym,r and r,?!Ym alternatives.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197024 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/mmx.md')
-rw-r--r-- | gcc/config/i386/mmx.md | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 5a72fafc95a..fb75d49570a 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -78,9 +78,9 @@ (define_insn "*mov<mode>_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>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>mode == V2SFmode") (not (match_test "TARGET_SSE2")))) (const_string "V2SF") |