Lines 78-86
Link Here
|
78 |
|
78 |
|
79 |
(define_insn "*mov<mode>_internal" |
79 |
(define_insn "*mov<mode>_internal" |
80 |
[(set (match_operand:MMXMODE 0 "nonimmediate_operand" |
80 |
[(set (match_operand:MMXMODE 0 "nonimmediate_operand" |
81 |
"=r ,o ,r,r ,m ,?!y,!y,?!y,m ,r ,?!Ym,v,v,v,m,*x,*x,*x,m ,r ,Yi,!Ym,*Yi") |
81 |
"=r ,o ,r,r ,m ,?!y,!y,?!y,m ,r ,?!Ym,v,v,v,m,r ,Yi,!Ym,*Yi") |
82 |
(match_operand:MMXMODE 1 "vector_move_operand" |
82 |
(match_operand:MMXMODE 1 "vector_move_operand" |
83 |
"rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!Yn,r ,C,v,m,v,C ,*x,m ,*x,Yj,r ,*Yj,!Yn"))] |
83 |
"rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!Yn,r ,C,v,m,v,Yj,r ,*Yj,!Yn"))] |
84 |
"TARGET_MMX |
84 |
"TARGET_MMX |
85 |
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))" |
85 |
&& !(MEM_P (operands[0]) && MEM_P (operands[1]))" |
86 |
{ |
86 |
{ |
Lines 146-152
Link Here
|
146 |
[(set (attr "isa") |
146 |
[(set (attr "isa") |
147 |
(cond [(eq_attr "alternative" "0,1") |
147 |
(cond [(eq_attr "alternative" "0,1") |
148 |
(const_string "nox64") |
148 |
(const_string "nox64") |
149 |
(eq_attr "alternative" "2,3,4,9,10,11,12,13,14,19,20") |
149 |
(eq_attr "alternative" "2,3,4,9,10,15,16") |
150 |
(const_string "x64") |
150 |
(const_string "x64") |
151 |
] |
151 |
] |
152 |
(const_string "*"))) |
152 |
(const_string "*"))) |
Lines 159-172
Link Here
|
159 |
(const_string "mmx") |
159 |
(const_string "mmx") |
160 |
(eq_attr "alternative" "6,7,8,9,10") |
160 |
(eq_attr "alternative" "6,7,8,9,10") |
161 |
(const_string "mmxmov") |
161 |
(const_string "mmxmov") |
162 |
(eq_attr "alternative" "11,15") |
162 |
(eq_attr "alternative" "11") |
163 |
(const_string "sselog1") |
163 |
(const_string "sselog1") |
164 |
(eq_attr "alternative" "21,22") |
164 |
(eq_attr "alternative" "17,18") |
165 |
(const_string "ssecvt") |
165 |
(const_string "ssecvt") |
166 |
] |
166 |
] |
167 |
(const_string "ssemov"))) |
167 |
(const_string "ssemov"))) |
168 |
(set (attr "prefix_rex") |
168 |
(set (attr "prefix_rex") |
169 |
(if_then_else (eq_attr "alternative" "9,10,19,20") |
169 |
(if_then_else (eq_attr "alternative" "9,10,15,16") |
170 |
(const_string "1") |
170 |
(const_string "1") |
171 |
(const_string "*"))) |
171 |
(const_string "*"))) |
172 |
(set (attr "prefix") |
172 |
(set (attr "prefix") |
Lines 181-187
Link Here
|
181 |
(set (attr "mode") |
181 |
(set (attr "mode") |
182 |
(cond [(eq_attr "alternative" "2") |
182 |
(cond [(eq_attr "alternative" "2") |
183 |
(const_string "SI") |
183 |
(const_string "SI") |
184 |
(eq_attr "alternative" "11,12,15,16") |
184 |
(eq_attr "alternative" "11,12") |
185 |
(cond [(ior (match_operand 0 "ext_sse_reg_operand") |
185 |
(cond [(ior (match_operand 0 "ext_sse_reg_operand") |
186 |
(match_operand 1 "ext_sse_reg_operand")) |
186 |
(match_operand 1 "ext_sse_reg_operand")) |
187 |
(const_string "XI") |
187 |
(const_string "XI") |
Lines 197-203
Link Here
|
197 |
] |
197 |
] |
198 |
(const_string "TI")) |
198 |
(const_string "TI")) |
199 |
|
199 |
|
200 |
(and (eq_attr "alternative" "13,14,17,18") |
200 |
(and (eq_attr "alternative" "13,14") |
201 |
(ior (match_test "<MODE>mode == V2SFmode") |
201 |
(ior (match_test "<MODE>mode == V2SFmode") |
202 |
(not (match_test "TARGET_SSE2")))) |
202 |
(not (match_test "TARGET_SSE2")))) |
203 |
(const_string "V2SF") |
203 |
(const_string "V2SF") |