Daily bump.
[official-gcc.git] / gcc / config / h8300 / mova.md
blobd6b837737843a5d56921c75961587d21af6a5e17
1 ;; -*- buffer-read-only: t -*-
2 ;; Generated automatically from genmova.sh
3 ;; Copyright (C) 2004-2021 Free Software Foundation, Inc.
4 ;;
5 ;; This file is part of GCC.
6 ;;
7 ;; GCC is free software; you can redistribute it and/or modify
8 ;; it under the terms of the GNU General Public License as published by
9 ;; the Free Software Foundation; either version 3, or (at your option)
10 ;; any later version.
12 ;; GCC is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ;; GNU General Public License for more details.
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with GCC; see the file COPYING3.  If not see
19 ;; <http://www.gnu.org/licenses/>.
20 (define_insn ""
21   [(set (match_operand:QI 0 "register_operand" "=r,r")
22         (plus:QI (mult:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
23                            (const_int 2))
24                  (match_operand:QI 2 "immediate_operand" "i,i")))]
25   "TARGET_H8300SX"
26   "mova/w.l @(%o2%C2,%X1.b),%S0"
27   [(set_attr "length_table" "mova")])
29 (define_insn ""
30   [(set (match_operand:QI 0 "register_operand" "=r,r")
31         (plus:QI (ashift:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
32                            (const_int 1))
33                  (match_operand:QI 2 "immediate_operand" "i,i")))]
34   "TARGET_H8300SX"
35   "mova/w.l @(%o2%C2,%X1.b),%S0"
36   [(set_attr "length_table" "mova")])
38 (define_insn ""
39   [(set (match_operand:QI 0 "register_operand" "=r,r")
40         (plus:QI (mult:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
41                            (const_int 4))
42                  (match_operand:QI 2 "immediate_operand" "i,i")))]
43   "TARGET_H8300SX"
44   "mova/l.l @(%o2%C2,%X1.b),%S0"
45   [(set_attr "length_table" "mova")])
47 (define_insn ""
48   [(set (match_operand:QI 0 "register_operand" "=r,r")
49         (plus:QI (ashift:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
50                            (const_int 2))
51                  (match_operand:QI 2 "immediate_operand" "i,i")))]
52   "TARGET_H8300SX"
53   "mova/l.l @(%o2%C2,%X1.b),%S0"
54   [(set_attr "length_table" "mova")])
56 (define_insn ""
57   [(set (match_operand:HI 0 "register_operand" "=r,r")
58         (plus:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
59                  (match_operand:HI 2 "immediate_operand" "i,i")))]
60   "TARGET_H8300SX"
61   "mova/b.l @(%o2%C2,%X1.b),%S0"
62   [(set_attr "length_table" "mova")])
64 (define_insn ""
65   [(set (match_operand:HI 0 "register_operand" "=r,r")
66         (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
67                   (const_int 2)))]
68   "TARGET_H8300SX"
69   "mova/w.l @(0,%X1.b),%S0"
70   [(set_attr "length_table" "mova_zero")])
72 (define_insn ""
73   [(set (match_operand:HI 0 "register_operand" "=r,r")
74         (plus:HI (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
75                            (const_int 2))
76                  (match_operand:HI 2 "immediate_operand" "i,i")))]
77   "TARGET_H8300SX"
78   "mova/w.l @(%o2%C2,%X1.b),%S0"
79   [(set_attr "length_table" "mova")])
81 (define_insn ""
82   [(set (match_operand:HI 0 "register_operand" "=r")
83         (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
84                           (const_int 2))
85                 (const_int 510)))]
86   "TARGET_H8300SX"
87   "mova/w.l @(0,%X1.b),%S0"
88   [(set_attr "length_table" "mova_zero")])
90 (define_insn ""
91   [(set (match_operand:HI 0 "register_operand" "=r")
92         (plus:HI (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
93                                    (const_int 2))
94                          (const_int 510))
95                  (match_operand:HI 2 "immediate_operand" "i")))]
96   "TARGET_H8300SX"
97   "mova/w.l @(%o2%C2,%X1.b),%S0"
98   [(set_attr "length_table" "mova")])
100 (define_insn ""
101   [(set (match_operand:HI 0 "register_operand" "=r")
102         (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
103                           (const_int 2))
104                 (const_int 510)))]
105   "TARGET_H8300SX"
106   "mova/w.l @(0,%X1.b),%S0"
107   [(set_attr "length_table" "mova_zero")])
109 (define_insn ""
110   [(set (match_operand:HI 0 "register_operand" "=r")
111         (plus:HI (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
112                                    (const_int 2))
113                          (const_int 510))
114                  (match_operand:HI 2 "immediate_operand" "i")))]
115   "TARGET_H8300SX"
116   "mova/w.l @(%o2%C2,%X1.b),%S0"
117   [(set_attr "length_table" "mova")])
119 (define_insn ""
120   [(set (match_operand:HI 0 "register_operand" "=r,r")
121         (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
122                   (const_int 1)))]
123   "TARGET_H8300SX"
124   "mova/w.l @(0,%X1.b),%S0"
125   [(set_attr "length_table" "mova_zero")])
127 (define_insn ""
128   [(set (match_operand:HI 0 "register_operand" "=r,r")
129         (plus:HI (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
130                            (const_int 1))
131                  (match_operand:HI 2 "immediate_operand" "i,i")))]
132   "TARGET_H8300SX"
133   "mova/w.l @(%o2%C2,%X1.b),%S0"
134   [(set_attr "length_table" "mova")])
136 (define_insn ""
137   [(set (match_operand:HI 0 "register_operand" "=r")
138         (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
139                           (const_int 1))
140                 (const_int 510)))]
141   "TARGET_H8300SX"
142   "mova/w.l @(0,%X1.b),%S0"
143   [(set_attr "length_table" "mova_zero")])
145 (define_insn ""
146   [(set (match_operand:HI 0 "register_operand" "=r")
147         (plus:HI (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
148                                    (const_int 1))
149                          (const_int 510))
150                  (match_operand:HI 2 "immediate_operand" "i")))]
151   "TARGET_H8300SX"
152   "mova/w.l @(%o2%C2,%X1.b),%S0"
153   [(set_attr "length_table" "mova")])
155 (define_insn ""
156   [(set (match_operand:HI 0 "register_operand" "=r")
157         (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
158                           (const_int 1))
159                 (const_int 510)))]
160   "TARGET_H8300SX"
161   "mova/w.l @(0,%X1.b),%S0"
162   [(set_attr "length_table" "mova_zero")])
164 (define_insn ""
165   [(set (match_operand:HI 0 "register_operand" "=r")
166         (plus:HI (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
167                                    (const_int 1))
168                          (const_int 510))
169                  (match_operand:HI 2 "immediate_operand" "i")))]
170   "TARGET_H8300SX"
171   "mova/w.l @(%o2%C2,%X1.b),%S0"
172   [(set_attr "length_table" "mova")])
174 (define_insn ""
175   [(set (match_operand:HI 0 "register_operand" "=r,r")
176         (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
177                   (const_int 4)))]
178   "TARGET_H8300SX"
179   "mova/l.l @(0,%X1.b),%S0"
180   [(set_attr "length_table" "mova_zero")])
182 (define_insn ""
183   [(set (match_operand:HI 0 "register_operand" "=r,r")
184         (plus:HI (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
185                            (const_int 4))
186                  (match_operand:HI 2 "immediate_operand" "i,i")))]
187   "TARGET_H8300SX"
188   "mova/l.l @(%o2%C2,%X1.b),%S0"
189   [(set_attr "length_table" "mova")])
191 (define_insn ""
192   [(set (match_operand:HI 0 "register_operand" "=r")
193         (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
194                           (const_int 4))
195                 (const_int 1020)))]
196   "TARGET_H8300SX"
197   "mova/l.l @(0,%X1.b),%S0"
198   [(set_attr "length_table" "mova_zero")])
200 (define_insn ""
201   [(set (match_operand:HI 0 "register_operand" "=r")
202         (plus:HI (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
203                                    (const_int 4))
204                          (const_int 1020))
205                  (match_operand:HI 2 "immediate_operand" "i")))]
206   "TARGET_H8300SX"
207   "mova/l.l @(%o2%C2,%X1.b),%S0"
208   [(set_attr "length_table" "mova")])
210 (define_insn ""
211   [(set (match_operand:HI 0 "register_operand" "=r")
212         (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
213                           (const_int 4))
214                 (const_int 1020)))]
215   "TARGET_H8300SX"
216   "mova/l.l @(0,%X1.b),%S0"
217   [(set_attr "length_table" "mova_zero")])
219 (define_insn ""
220   [(set (match_operand:HI 0 "register_operand" "=r")
221         (plus:HI (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
222                                    (const_int 4))
223                          (const_int 1020))
224                  (match_operand:HI 2 "immediate_operand" "i")))]
225   "TARGET_H8300SX"
226   "mova/l.l @(%o2%C2,%X1.b),%S0"
227   [(set_attr "length_table" "mova")])
229 (define_insn ""
230   [(set (match_operand:HI 0 "register_operand" "=r,r")
231         (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
232                   (const_int 2)))]
233   "TARGET_H8300SX"
234   "mova/l.l @(0,%X1.b),%S0"
235   [(set_attr "length_table" "mova_zero")])
237 (define_insn ""
238   [(set (match_operand:HI 0 "register_operand" "=r,r")
239         (plus:HI (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
240                            (const_int 2))
241                  (match_operand:HI 2 "immediate_operand" "i,i")))]
242   "TARGET_H8300SX"
243   "mova/l.l @(%o2%C2,%X1.b),%S0"
244   [(set_attr "length_table" "mova")])
246 (define_insn ""
247   [(set (match_operand:HI 0 "register_operand" "=r")
248         (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
249                           (const_int 2))
250                 (const_int 1020)))]
251   "TARGET_H8300SX"
252   "mova/l.l @(0,%X1.b),%S0"
253   [(set_attr "length_table" "mova_zero")])
255 (define_insn ""
256   [(set (match_operand:HI 0 "register_operand" "=r")
257         (plus:HI (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
258                                    (const_int 2))
259                          (const_int 1020))
260                  (match_operand:HI 2 "immediate_operand" "i")))]
261   "TARGET_H8300SX"
262   "mova/l.l @(%o2%C2,%X1.b),%S0"
263   [(set_attr "length_table" "mova")])
265 (define_insn ""
266   [(set (match_operand:HI 0 "register_operand" "=r")
267         (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
268                           (const_int 2))
269                 (const_int 1020)))]
270   "TARGET_H8300SX"
271   "mova/l.l @(0,%X1.b),%S0"
272   [(set_attr "length_table" "mova_zero")])
274 (define_insn ""
275   [(set (match_operand:HI 0 "register_operand" "=r")
276         (plus:HI (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
277                                    (const_int 2))
278                          (const_int 1020))
279                  (match_operand:HI 2 "immediate_operand" "i")))]
280   "TARGET_H8300SX"
281   "mova/l.l @(%o2%C2,%X1.b),%S0"
282   [(set_attr "length_table" "mova")])
284 (define_insn ""
285   [(set (match_operand:SI 0 "register_operand" "=r,r")
286         (plus:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
287                  (match_operand:SI 2 "immediate_operand" "i,i")))]
288   "TARGET_H8300SX"
289   "mova/b.l @(%o2%C2,%X1.b),%S0"
290   [(set_attr "length_table" "mova")])
292 (define_insn ""
293   [(set (match_operand:SI 0 "register_operand" "=r,r")
294         (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
295                   (const_int 2)))]
296   "TARGET_H8300SX"
297   "mova/w.l @(0,%X1.b),%S0"
298   [(set_attr "length_table" "mova_zero")])
300 (define_insn ""
301   [(set (match_operand:SI 0 "register_operand" "=r,r")
302         (plus:SI (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
303                            (const_int 2))
304                  (match_operand:SI 2 "immediate_operand" "i,i")))]
305   "TARGET_H8300SX"
306   "mova/w.l @(%o2%C2,%X1.b),%S0"
307   [(set_attr "length_table" "mova")])
309 (define_insn ""
310   [(set (match_operand:SI 0 "register_operand" "=r")
311         (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
312                           (const_int 2))
313                 (const_int 510)))]
314   "TARGET_H8300SX"
315   "mova/w.l @(0,%X1.b),%S0"
316   [(set_attr "length_table" "mova_zero")])
318 (define_insn ""
319   [(set (match_operand:SI 0 "register_operand" "=r")
320         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
321                                    (const_int 2))
322                          (const_int 510))
323                  (match_operand:SI 2 "immediate_operand" "i")))]
324   "TARGET_H8300SX"
325   "mova/w.l @(%o2%C2,%X1.b),%S0"
326   [(set_attr "length_table" "mova")])
328 (define_insn ""
329   [(set (match_operand:SI 0 "register_operand" "=r")
330         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
331                           (const_int 2))
332                 (const_int 510)))]
333   "TARGET_H8300SX"
334   "mova/w.l @(0,%X1.b),%S0"
335   [(set_attr "length_table" "mova_zero")])
337 (define_insn ""
338   [(set (match_operand:SI 0 "register_operand" "=r")
339         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
340                                    (const_int 2))
341                          (const_int 510))
342                  (match_operand:SI 2 "immediate_operand" "i")))]
343   "TARGET_H8300SX"
344   "mova/w.l @(%o2%C2,%X1.b),%S0"
345   [(set_attr "length_table" "mova")])
347 (define_insn ""
348   [(set (match_operand:SI 0 "register_operand" "=r,r")
349         (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
350                   (const_int 1)))]
351   "TARGET_H8300SX"
352   "mova/w.l @(0,%X1.b),%S0"
353   [(set_attr "length_table" "mova_zero")])
355 (define_insn ""
356   [(set (match_operand:SI 0 "register_operand" "=r,r")
357         (plus:SI (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
358                            (const_int 1))
359                  (match_operand:SI 2 "immediate_operand" "i,i")))]
360   "TARGET_H8300SX"
361   "mova/w.l @(%o2%C2,%X1.b),%S0"
362   [(set_attr "length_table" "mova")])
364 (define_insn ""
365   [(set (match_operand:SI 0 "register_operand" "=r")
366         (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
367                           (const_int 1))
368                 (const_int 510)))]
369   "TARGET_H8300SX"
370   "mova/w.l @(0,%X1.b),%S0"
371   [(set_attr "length_table" "mova_zero")])
373 (define_insn ""
374   [(set (match_operand:SI 0 "register_operand" "=r")
375         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
376                                    (const_int 1))
377                          (const_int 510))
378                  (match_operand:SI 2 "immediate_operand" "i")))]
379   "TARGET_H8300SX"
380   "mova/w.l @(%o2%C2,%X1.b),%S0"
381   [(set_attr "length_table" "mova")])
383 (define_insn ""
384   [(set (match_operand:SI 0 "register_operand" "=r")
385         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
386                           (const_int 1))
387                 (const_int 510)))]
388   "TARGET_H8300SX"
389   "mova/w.l @(0,%X1.b),%S0"
390   [(set_attr "length_table" "mova_zero")])
392 (define_insn ""
393   [(set (match_operand:SI 0 "register_operand" "=r")
394         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
395                                    (const_int 1))
396                          (const_int 510))
397                  (match_operand:SI 2 "immediate_operand" "i")))]
398   "TARGET_H8300SX"
399   "mova/w.l @(%o2%C2,%X1.b),%S0"
400   [(set_attr "length_table" "mova")])
402 (define_insn ""
403   [(set (match_operand:SI 0 "register_operand" "=r,r")
404         (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
405                   (const_int 4)))]
406   "TARGET_H8300SX"
407   "mova/l.l @(0,%X1.b),%S0"
408   [(set_attr "length_table" "mova_zero")])
410 (define_insn ""
411   [(set (match_operand:SI 0 "register_operand" "=r,r")
412         (plus:SI (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
413                            (const_int 4))
414                  (match_operand:SI 2 "immediate_operand" "i,i")))]
415   "TARGET_H8300SX"
416   "mova/l.l @(%o2%C2,%X1.b),%S0"
417   [(set_attr "length_table" "mova")])
419 (define_insn ""
420   [(set (match_operand:SI 0 "register_operand" "=r")
421         (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
422                           (const_int 4))
423                 (const_int 1020)))]
424   "TARGET_H8300SX"
425   "mova/l.l @(0,%X1.b),%S0"
426   [(set_attr "length_table" "mova_zero")])
428 (define_insn ""
429   [(set (match_operand:SI 0 "register_operand" "=r")
430         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
431                                    (const_int 4))
432                          (const_int 1020))
433                  (match_operand:SI 2 "immediate_operand" "i")))]
434   "TARGET_H8300SX"
435   "mova/l.l @(%o2%C2,%X1.b),%S0"
436   [(set_attr "length_table" "mova")])
438 (define_insn ""
439   [(set (match_operand:SI 0 "register_operand" "=r")
440         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
441                           (const_int 4))
442                 (const_int 1020)))]
443   "TARGET_H8300SX"
444   "mova/l.l @(0,%X1.b),%S0"
445   [(set_attr "length_table" "mova_zero")])
447 (define_insn ""
448   [(set (match_operand:SI 0 "register_operand" "=r")
449         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
450                                    (const_int 4))
451                          (const_int 1020))
452                  (match_operand:SI 2 "immediate_operand" "i")))]
453   "TARGET_H8300SX"
454   "mova/l.l @(%o2%C2,%X1.b),%S0"
455   [(set_attr "length_table" "mova")])
457 (define_insn ""
458   [(set (match_operand:SI 0 "register_operand" "=r,r")
459         (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
460                   (const_int 2)))]
461   "TARGET_H8300SX"
462   "mova/l.l @(0,%X1.b),%S0"
463   [(set_attr "length_table" "mova_zero")])
465 (define_insn ""
466   [(set (match_operand:SI 0 "register_operand" "=r,r")
467         (plus:SI (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
468                            (const_int 2))
469                  (match_operand:SI 2 "immediate_operand" "i,i")))]
470   "TARGET_H8300SX"
471   "mova/l.l @(%o2%C2,%X1.b),%S0"
472   [(set_attr "length_table" "mova")])
474 (define_insn ""
475   [(set (match_operand:SI 0 "register_operand" "=r")
476         (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
477                           (const_int 2))
478                 (const_int 1020)))]
479   "TARGET_H8300SX"
480   "mova/l.l @(0,%X1.b),%S0"
481   [(set_attr "length_table" "mova_zero")])
483 (define_insn ""
484   [(set (match_operand:SI 0 "register_operand" "=r")
485         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
486                                    (const_int 2))
487                          (const_int 1020))
488                  (match_operand:SI 2 "immediate_operand" "i")))]
489   "TARGET_H8300SX"
490   "mova/l.l @(%o2%C2,%X1.b),%S0"
491   [(set_attr "length_table" "mova")])
493 (define_insn ""
494   [(set (match_operand:SI 0 "register_operand" "=r")
495         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
496                           (const_int 2))
497                 (const_int 1020)))]
498   "TARGET_H8300SX"
499   "mova/l.l @(0,%X1.b),%S0"
500   [(set_attr "length_table" "mova_zero")])
502 (define_insn ""
503   [(set (match_operand:SI 0 "register_operand" "=r")
504         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
505                                    (const_int 2))
506                          (const_int 1020))
507                  (match_operand:SI 2 "immediate_operand" "i")))]
508   "TARGET_H8300SX"
509   "mova/l.l @(%o2%C2,%X1.b),%S0"
510   [(set_attr "length_table" "mova")])
512 (define_insn ""
513   [(set (match_operand:HI 0 "register_operand" "=r,r")
514         (plus:HI (mult:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
515                            (const_int 2))
516                  (match_operand:HI 2 "immediate_operand" "i,i")))]
517   "TARGET_H8300SX"
518   "mova/w.l @(%o2%C2,%T1.w),%S0"
519   [(set_attr "length_table" "mova")])
521 (define_insn ""
522   [(set (match_operand:HI 0 "register_operand" "=r,r")
523         (plus:HI (ashift:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
524                            (const_int 1))
525                  (match_operand:HI 2 "immediate_operand" "i,i")))]
526   "TARGET_H8300SX"
527   "mova/w.l @(%o2%C2,%T1.w),%S0"
528   [(set_attr "length_table" "mova")])
530 (define_insn ""
531   [(set (match_operand:HI 0 "register_operand" "=r,r")
532         (plus:HI (mult:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
533                            (const_int 4))
534                  (match_operand:HI 2 "immediate_operand" "i,i")))]
535   "TARGET_H8300SX"
536   "mova/l.l @(%o2%C2,%T1.w),%S0"
537   [(set_attr "length_table" "mova")])
539 (define_insn ""
540   [(set (match_operand:HI 0 "register_operand" "=r,r")
541         (plus:HI (ashift:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
542                            (const_int 2))
543                  (match_operand:HI 2 "immediate_operand" "i,i")))]
544   "TARGET_H8300SX"
545   "mova/l.l @(%o2%C2,%T1.w),%S0"
546   [(set_attr "length_table" "mova")])
548 (define_insn ""
549   [(set (match_operand:SI 0 "register_operand" "=r,r")
550         (plus:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
551                  (match_operand:SI 2 "immediate_operand" "i,i")))]
552   "TARGET_H8300SX"
553   "mova/b.l @(%o2%C2,%T1.w),%S0"
554   [(set_attr "length_table" "mova")])
556 (define_insn ""
557   [(set (match_operand:SI 0 "register_operand" "=r,r")
558         (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
559                   (const_int 2)))]
560   "TARGET_H8300SX"
561   "mova/w.l @(0,%T1.w),%S0"
562   [(set_attr "length_table" "mova_zero")])
564 (define_insn ""
565   [(set (match_operand:SI 0 "register_operand" "=r,r")
566         (plus:SI (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
567                            (const_int 2))
568                  (match_operand:SI 2 "immediate_operand" "i,i")))]
569   "TARGET_H8300SX"
570   "mova/w.l @(%o2%C2,%T1.w),%S0"
571   [(set_attr "length_table" "mova")])
573 (define_insn ""
574   [(set (match_operand:SI 0 "register_operand" "=r")
575         (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
576                           (const_int 2))
577                 (const_int 131070)))]
578   "TARGET_H8300SX"
579   "mova/w.l @(0,%T1.w),%S0"
580   [(set_attr "length_table" "mova_zero")])
582 (define_insn ""
583   [(set (match_operand:SI 0 "register_operand" "=r")
584         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
585                                    (const_int 2))
586                          (const_int 131070))
587                  (match_operand:SI 2 "immediate_operand" "i")))]
588   "TARGET_H8300SX"
589   "mova/w.l @(%o2%C2,%T1.w),%S0"
590   [(set_attr "length_table" "mova")])
592 (define_insn ""
593   [(set (match_operand:SI 0 "register_operand" "=r")
594         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
595                           (const_int 2))
596                 (const_int 131070)))]
597   "TARGET_H8300SX"
598   "mova/w.l @(0,%T1.w),%S0"
599   [(set_attr "length_table" "mova_zero")])
601 (define_insn ""
602   [(set (match_operand:SI 0 "register_operand" "=r")
603         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
604                                    (const_int 2))
605                          (const_int 131070))
606                  (match_operand:SI 2 "immediate_operand" "i")))]
607   "TARGET_H8300SX"
608   "mova/w.l @(%o2%C2,%T1.w),%S0"
609   [(set_attr "length_table" "mova")])
611 (define_insn ""
612   [(set (match_operand:SI 0 "register_operand" "=r,r")
613         (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
614                   (const_int 1)))]
615   "TARGET_H8300SX"
616   "mova/w.l @(0,%T1.w),%S0"
617   [(set_attr "length_table" "mova_zero")])
619 (define_insn ""
620   [(set (match_operand:SI 0 "register_operand" "=r,r")
621         (plus:SI (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
622                            (const_int 1))
623                  (match_operand:SI 2 "immediate_operand" "i,i")))]
624   "TARGET_H8300SX"
625   "mova/w.l @(%o2%C2,%T1.w),%S0"
626   [(set_attr "length_table" "mova")])
628 (define_insn ""
629   [(set (match_operand:SI 0 "register_operand" "=r")
630         (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
631                           (const_int 1))
632                 (const_int 131070)))]
633   "TARGET_H8300SX"
634   "mova/w.l @(0,%T1.w),%S0"
635   [(set_attr "length_table" "mova_zero")])
637 (define_insn ""
638   [(set (match_operand:SI 0 "register_operand" "=r")
639         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
640                                    (const_int 1))
641                          (const_int 131070))
642                  (match_operand:SI 2 "immediate_operand" "i")))]
643   "TARGET_H8300SX"
644   "mova/w.l @(%o2%C2,%T1.w),%S0"
645   [(set_attr "length_table" "mova")])
647 (define_insn ""
648   [(set (match_operand:SI 0 "register_operand" "=r")
649         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
650                           (const_int 1))
651                 (const_int 131070)))]
652   "TARGET_H8300SX"
653   "mova/w.l @(0,%T1.w),%S0"
654   [(set_attr "length_table" "mova_zero")])
656 (define_insn ""
657   [(set (match_operand:SI 0 "register_operand" "=r")
658         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
659                                    (const_int 1))
660                          (const_int 131070))
661                  (match_operand:SI 2 "immediate_operand" "i")))]
662   "TARGET_H8300SX"
663   "mova/w.l @(%o2%C2,%T1.w),%S0"
664   [(set_attr "length_table" "mova")])
666 (define_insn ""
667   [(set (match_operand:SI 0 "register_operand" "=r,r")
668         (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
669                   (const_int 4)))]
670   "TARGET_H8300SX"
671   "mova/l.l @(0,%T1.w),%S0"
672   [(set_attr "length_table" "mova_zero")])
674 (define_insn ""
675   [(set (match_operand:SI 0 "register_operand" "=r,r")
676         (plus:SI (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
677                            (const_int 4))
678                  (match_operand:SI 2 "immediate_operand" "i,i")))]
679   "TARGET_H8300SX"
680   "mova/l.l @(%o2%C2,%T1.w),%S0"
681   [(set_attr "length_table" "mova")])
683 (define_insn ""
684   [(set (match_operand:SI 0 "register_operand" "=r")
685         (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
686                           (const_int 4))
687                 (const_int 262140)))]
688   "TARGET_H8300SX"
689   "mova/l.l @(0,%T1.w),%S0"
690   [(set_attr "length_table" "mova_zero")])
692 (define_insn ""
693   [(set (match_operand:SI 0 "register_operand" "=r")
694         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
695                                    (const_int 4))
696                          (const_int 262140))
697                  (match_operand:SI 2 "immediate_operand" "i")))]
698   "TARGET_H8300SX"
699   "mova/l.l @(%o2%C2,%T1.w),%S0"
700   [(set_attr "length_table" "mova")])
702 (define_insn ""
703   [(set (match_operand:SI 0 "register_operand" "=r")
704         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
705                           (const_int 4))
706                 (const_int 262140)))]
707   "TARGET_H8300SX"
708   "mova/l.l @(0,%T1.w),%S0"
709   [(set_attr "length_table" "mova_zero")])
711 (define_insn ""
712   [(set (match_operand:SI 0 "register_operand" "=r")
713         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
714                                    (const_int 4))
715                          (const_int 262140))
716                  (match_operand:SI 2 "immediate_operand" "i")))]
717   "TARGET_H8300SX"
718   "mova/l.l @(%o2%C2,%T1.w),%S0"
719   [(set_attr "length_table" "mova")])
721 (define_insn ""
722   [(set (match_operand:SI 0 "register_operand" "=r,r")
723         (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
724                   (const_int 2)))]
725   "TARGET_H8300SX"
726   "mova/l.l @(0,%T1.w),%S0"
727   [(set_attr "length_table" "mova_zero")])
729 (define_insn ""
730   [(set (match_operand:SI 0 "register_operand" "=r,r")
731         (plus:SI (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
732                            (const_int 2))
733                  (match_operand:SI 2 "immediate_operand" "i,i")))]
734   "TARGET_H8300SX"
735   "mova/l.l @(%o2%C2,%T1.w),%S0"
736   [(set_attr "length_table" "mova")])
738 (define_insn ""
739   [(set (match_operand:SI 0 "register_operand" "=r")
740         (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
741                           (const_int 2))
742                 (const_int 262140)))]
743   "TARGET_H8300SX"
744   "mova/l.l @(0,%T1.w),%S0"
745   [(set_attr "length_table" "mova_zero")])
747 (define_insn ""
748   [(set (match_operand:SI 0 "register_operand" "=r")
749         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
750                                    (const_int 2))
751                          (const_int 262140))
752                  (match_operand:SI 2 "immediate_operand" "i")))]
753   "TARGET_H8300SX"
754   "mova/l.l @(%o2%C2,%T1.w),%S0"
755   [(set_attr "length_table" "mova")])
757 (define_insn ""
758   [(set (match_operand:SI 0 "register_operand" "=r")
759         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
760                           (const_int 2))
761                 (const_int 262140)))]
762   "TARGET_H8300SX"
763   "mova/l.l @(0,%T1.w),%S0"
764   [(set_attr "length_table" "mova_zero")])
766 (define_insn ""
767   [(set (match_operand:SI 0 "register_operand" "=r")
768         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
769                                    (const_int 2))
770                          (const_int 262140))
771                  (match_operand:SI 2 "immediate_operand" "i")))]
772   "TARGET_H8300SX"
773   "mova/l.l @(%o2%C2,%T1.w),%S0"
774   [(set_attr "length_table" "mova")])