OSDN Git Service

2006-01-26 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / config / h8300 / mova.md
1 ;; -*- buffer-read-only: t -*-
2 ;; Generated automatically from genmova.sh
3 (define_insn ""
4   [(set (match_operand:QI 0 "register_operand" "=r,r")
5         (plus:QI (mult:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
6                            (const_int 2))
7                  (match_operand:QI 2 "immediate_operand" "i,i")))]
8   "TARGET_H8300SX"
9   "mova/w.l @(%o2,%X1.b),%S0"
10   [(set_attr "length_table" "mova")
11    (set_attr "cc" "none")])
12
13 (define_insn ""
14   [(set (match_operand:QI 0 "register_operand" "=r,r")
15         (plus:QI (ashift:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
16                            (const_int 1))
17                  (match_operand:QI 2 "immediate_operand" "i,i")))]
18   "TARGET_H8300SX"
19   "mova/w.l @(%o2,%X1.b),%S0"
20   [(set_attr "length_table" "mova")
21    (set_attr "cc" "none")])
22
23 (define_insn ""
24   [(set (match_operand:QI 0 "register_operand" "=r,r")
25         (plus:QI (mult:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
26                            (const_int 4))
27                  (match_operand:QI 2 "immediate_operand" "i,i")))]
28   "TARGET_H8300SX"
29   "mova/l.l @(%o2,%X1.b),%S0"
30   [(set_attr "length_table" "mova")
31    (set_attr "cc" "none")])
32
33 (define_insn ""
34   [(set (match_operand:QI 0 "register_operand" "=r,r")
35         (plus:QI (ashift:QI (match_operand:QI 1 "h8300_dst_operand" "0,rQ")
36                            (const_int 2))
37                  (match_operand:QI 2 "immediate_operand" "i,i")))]
38   "TARGET_H8300SX"
39   "mova/l.l @(%o2,%X1.b),%S0"
40   [(set_attr "length_table" "mova")
41    (set_attr "cc" "none")])
42
43 (define_insn ""
44   [(set (match_operand:HI 0 "register_operand" "=r,r")
45         (plus:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
46                  (match_operand:HI 2 "immediate_operand" "i,i")))]
47   "TARGET_H8300SX"
48   "mova/b.l @(%o2,%X1.b),%S0"
49   [(set_attr "length_table" "mova")
50    (set_attr "cc" "none")])
51
52 (define_insn ""
53   [(set (match_operand:HI 0 "register_operand" "=r,r")
54         (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
55                   (const_int 2)))]
56   "TARGET_H8300SX"
57   "mova/w.l @(0,%X1.b),%S0"
58   [(set_attr "length_table" "mova_zero")
59    (set_attr "cc" "none")])
60
61 (define_insn ""
62   [(set (match_operand:HI 0 "register_operand" "=r,r")
63         (plus:HI (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
64                            (const_int 2))
65                  (match_operand:HI 2 "immediate_operand" "i,i")))]
66   "TARGET_H8300SX"
67   "mova/w.l @(%o2,%X1.b),%S0"
68   [(set_attr "length_table" "mova")
69    (set_attr "cc" "none")])
70
71 (define_insn ""
72   [(set (match_operand:HI 0 "register_operand" "=r")
73         (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
74                           (const_int 2))
75                 (const_int 510)))]
76   "TARGET_H8300SX"
77   "mova/w.l @(0,%X1.b),%S0"
78   [(set_attr "length_table" "mova_zero")
79    (set_attr "cc" "none")])
80
81 (define_insn ""
82   [(set (match_operand:HI 0 "register_operand" "=r")
83         (plus:HI (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
84                                    (const_int 2))
85                          (const_int 510))
86                  (match_operand:HI 2 "immediate_operand" "i")))]
87   "TARGET_H8300SX"
88   "mova/w.l @(%o2,%X1.b),%S0"
89   [(set_attr "length_table" "mova")
90    (set_attr "cc" "none")])
91
92 (define_insn ""
93   [(set (match_operand:HI 0 "register_operand" "=r")
94         (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
95                           (const_int 2))
96                 (const_int 510)))]
97   "TARGET_H8300SX"
98   "mova/w.l @(0,%X1.b),%S0"
99   [(set_attr "length_table" "mova_zero")
100    (set_attr "cc" "none")])
101
102 (define_insn ""
103   [(set (match_operand:HI 0 "register_operand" "=r")
104         (plus:HI (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
105                                    (const_int 2))
106                          (const_int 510))
107                  (match_operand:HI 2 "immediate_operand" "i")))]
108   "TARGET_H8300SX"
109   "mova/w.l @(%o2,%X1.b),%S0"
110   [(set_attr "length_table" "mova")
111    (set_attr "cc" "none")])
112
113 (define_insn ""
114   [(set (match_operand:HI 0 "register_operand" "=r,r")
115         (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
116                   (const_int 1)))]
117   "TARGET_H8300SX"
118   "mova/w.l @(0,%X1.b),%S0"
119   [(set_attr "length_table" "mova_zero")
120    (set_attr "cc" "none")])
121
122 (define_insn ""
123   [(set (match_operand:HI 0 "register_operand" "=r,r")
124         (plus:HI (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
125                            (const_int 1))
126                  (match_operand:HI 2 "immediate_operand" "i,i")))]
127   "TARGET_H8300SX"
128   "mova/w.l @(%o2,%X1.b),%S0"
129   [(set_attr "length_table" "mova")
130    (set_attr "cc" "none")])
131
132 (define_insn ""
133   [(set (match_operand:HI 0 "register_operand" "=r")
134         (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
135                           (const_int 1))
136                 (const_int 510)))]
137   "TARGET_H8300SX"
138   "mova/w.l @(0,%X1.b),%S0"
139   [(set_attr "length_table" "mova_zero")
140    (set_attr "cc" "none")])
141
142 (define_insn ""
143   [(set (match_operand:HI 0 "register_operand" "=r")
144         (plus:HI (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
145                                    (const_int 1))
146                          (const_int 510))
147                  (match_operand:HI 2 "immediate_operand" "i")))]
148   "TARGET_H8300SX"
149   "mova/w.l @(%o2,%X1.b),%S0"
150   [(set_attr "length_table" "mova")
151    (set_attr "cc" "none")])
152
153 (define_insn ""
154   [(set (match_operand:HI 0 "register_operand" "=r")
155         (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
156                           (const_int 1))
157                 (const_int 510)))]
158   "TARGET_H8300SX"
159   "mova/w.l @(0,%X1.b),%S0"
160   [(set_attr "length_table" "mova_zero")
161    (set_attr "cc" "none")])
162
163 (define_insn ""
164   [(set (match_operand:HI 0 "register_operand" "=r")
165         (plus:HI (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
166                                    (const_int 1))
167                          (const_int 510))
168                  (match_operand:HI 2 "immediate_operand" "i")))]
169   "TARGET_H8300SX"
170   "mova/w.l @(%o2,%X1.b),%S0"
171   [(set_attr "length_table" "mova")
172    (set_attr "cc" "none")])
173
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")
181    (set_attr "cc" "none")])
182
183 (define_insn ""
184   [(set (match_operand:HI 0 "register_operand" "=r,r")
185         (plus:HI (mult:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
186                            (const_int 4))
187                  (match_operand:HI 2 "immediate_operand" "i,i")))]
188   "TARGET_H8300SX"
189   "mova/l.l @(%o2,%X1.b),%S0"
190   [(set_attr "length_table" "mova")
191    (set_attr "cc" "none")])
192
193 (define_insn ""
194   [(set (match_operand:HI 0 "register_operand" "=r")
195         (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
196                           (const_int 4))
197                 (const_int 1020)))]
198   "TARGET_H8300SX"
199   "mova/l.l @(0,%X1.b),%S0"
200   [(set_attr "length_table" "mova_zero")
201    (set_attr "cc" "none")])
202
203 (define_insn ""
204   [(set (match_operand:HI 0 "register_operand" "=r")
205         (plus:HI (and:HI (mult:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
206                                    (const_int 4))
207                          (const_int 1020))
208                  (match_operand:HI 2 "immediate_operand" "i")))]
209   "TARGET_H8300SX"
210   "mova/l.l @(%o2,%X1.b),%S0"
211   [(set_attr "length_table" "mova")
212    (set_attr "cc" "none")])
213
214 (define_insn ""
215   [(set (match_operand:HI 0 "register_operand" "=r")
216         (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
217                           (const_int 4))
218                 (const_int 1020)))]
219   "TARGET_H8300SX"
220   "mova/l.l @(0,%X1.b),%S0"
221   [(set_attr "length_table" "mova_zero")
222    (set_attr "cc" "none")])
223
224 (define_insn ""
225   [(set (match_operand:HI 0 "register_operand" "=r")
226         (plus:HI (and:HI (mult:HI (match_operand:HI 1 "register_operand" "0")
227                                    (const_int 4))
228                          (const_int 1020))
229                  (match_operand:HI 2 "immediate_operand" "i")))]
230   "TARGET_H8300SX"
231   "mova/l.l @(%o2,%X1.b),%S0"
232   [(set_attr "length_table" "mova")
233    (set_attr "cc" "none")])
234
235 (define_insn ""
236   [(set (match_operand:HI 0 "register_operand" "=r,r")
237         (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
238                   (const_int 2)))]
239   "TARGET_H8300SX"
240   "mova/l.l @(0,%X1.b),%S0"
241   [(set_attr "length_table" "mova_zero")
242    (set_attr "cc" "none")])
243
244 (define_insn ""
245   [(set (match_operand:HI 0 "register_operand" "=r,r")
246         (plus:HI (ashift:HI (zero_extend:HI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
247                            (const_int 2))
248                  (match_operand:HI 2 "immediate_operand" "i,i")))]
249   "TARGET_H8300SX"
250   "mova/l.l @(%o2,%X1.b),%S0"
251   [(set_attr "length_table" "mova")
252    (set_attr "cc" "none")])
253
254 (define_insn ""
255   [(set (match_operand:HI 0 "register_operand" "=r")
256         (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
257                           (const_int 2))
258                 (const_int 1020)))]
259   "TARGET_H8300SX"
260   "mova/l.l @(0,%X1.b),%S0"
261   [(set_attr "length_table" "mova_zero")
262    (set_attr "cc" "none")])
263
264 (define_insn ""
265   [(set (match_operand:HI 0 "register_operand" "=r")
266         (plus:HI (and:HI (ashift:HI (subreg:HI (match_operand:QI 1 "memory_operand" "m") 0)
267                                    (const_int 2))
268                          (const_int 1020))
269                  (match_operand:HI 2 "immediate_operand" "i")))]
270   "TARGET_H8300SX"
271   "mova/l.l @(%o2,%X1.b),%S0"
272   [(set_attr "length_table" "mova")
273    (set_attr "cc" "none")])
274
275 (define_insn ""
276   [(set (match_operand:HI 0 "register_operand" "=r")
277         (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
278                           (const_int 2))
279                 (const_int 1020)))]
280   "TARGET_H8300SX"
281   "mova/l.l @(0,%X1.b),%S0"
282   [(set_attr "length_table" "mova_zero")
283    (set_attr "cc" "none")])
284
285 (define_insn ""
286   [(set (match_operand:HI 0 "register_operand" "=r")
287         (plus:HI (and:HI (ashift:HI (match_operand:HI 1 "register_operand" "0")
288                                    (const_int 2))
289                          (const_int 1020))
290                  (match_operand:HI 2 "immediate_operand" "i")))]
291   "TARGET_H8300SX"
292   "mova/l.l @(%o2,%X1.b),%S0"
293   [(set_attr "length_table" "mova")
294    (set_attr "cc" "none")])
295
296 (define_insn ""
297   [(set (match_operand:SI 0 "register_operand" "=r,r")
298         (plus:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
299                  (match_operand:SI 2 "immediate_operand" "i,i")))]
300   "TARGET_H8300SX"
301   "mova/b.l @(%o2,%X1.b),%S0"
302   [(set_attr "length_table" "mova")
303    (set_attr "cc" "none")])
304
305 (define_insn ""
306   [(set (match_operand:SI 0 "register_operand" "=r,r")
307         (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
308                   (const_int 2)))]
309   "TARGET_H8300SX"
310   "mova/w.l @(0,%X1.b),%S0"
311   [(set_attr "length_table" "mova_zero")
312    (set_attr "cc" "none")])
313
314 (define_insn ""
315   [(set (match_operand:SI 0 "register_operand" "=r,r")
316         (plus:SI (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
317                            (const_int 2))
318                  (match_operand:SI 2 "immediate_operand" "i,i")))]
319   "TARGET_H8300SX"
320   "mova/w.l @(%o2,%X1.b),%S0"
321   [(set_attr "length_table" "mova")
322    (set_attr "cc" "none")])
323
324 (define_insn ""
325   [(set (match_operand:SI 0 "register_operand" "=r")
326         (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
327                           (const_int 2))
328                 (const_int 510)))]
329   "TARGET_H8300SX"
330   "mova/w.l @(0,%X1.b),%S0"
331   [(set_attr "length_table" "mova_zero")
332    (set_attr "cc" "none")])
333
334 (define_insn ""
335   [(set (match_operand:SI 0 "register_operand" "=r")
336         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
337                                    (const_int 2))
338                          (const_int 510))
339                  (match_operand:SI 2 "immediate_operand" "i")))]
340   "TARGET_H8300SX"
341   "mova/w.l @(%o2,%X1.b),%S0"
342   [(set_attr "length_table" "mova")
343    (set_attr "cc" "none")])
344
345 (define_insn ""
346   [(set (match_operand:SI 0 "register_operand" "=r")
347         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
348                           (const_int 2))
349                 (const_int 510)))]
350   "TARGET_H8300SX"
351   "mova/w.l @(0,%X1.b),%S0"
352   [(set_attr "length_table" "mova_zero")
353    (set_attr "cc" "none")])
354
355 (define_insn ""
356   [(set (match_operand:SI 0 "register_operand" "=r")
357         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
358                                    (const_int 2))
359                          (const_int 510))
360                  (match_operand:SI 2 "immediate_operand" "i")))]
361   "TARGET_H8300SX"
362   "mova/w.l @(%o2,%X1.b),%S0"
363   [(set_attr "length_table" "mova")
364    (set_attr "cc" "none")])
365
366 (define_insn ""
367   [(set (match_operand:SI 0 "register_operand" "=r,r")
368         (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
369                   (const_int 1)))]
370   "TARGET_H8300SX"
371   "mova/w.l @(0,%X1.b),%S0"
372   [(set_attr "length_table" "mova_zero")
373    (set_attr "cc" "none")])
374
375 (define_insn ""
376   [(set (match_operand:SI 0 "register_operand" "=r,r")
377         (plus:SI (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
378                            (const_int 1))
379                  (match_operand:SI 2 "immediate_operand" "i,i")))]
380   "TARGET_H8300SX"
381   "mova/w.l @(%o2,%X1.b),%S0"
382   [(set_attr "length_table" "mova")
383    (set_attr "cc" "none")])
384
385 (define_insn ""
386   [(set (match_operand:SI 0 "register_operand" "=r")
387         (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
388                           (const_int 1))
389                 (const_int 510)))]
390   "TARGET_H8300SX"
391   "mova/w.l @(0,%X1.b),%S0"
392   [(set_attr "length_table" "mova_zero")
393    (set_attr "cc" "none")])
394
395 (define_insn ""
396   [(set (match_operand:SI 0 "register_operand" "=r")
397         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
398                                    (const_int 1))
399                          (const_int 510))
400                  (match_operand:SI 2 "immediate_operand" "i")))]
401   "TARGET_H8300SX"
402   "mova/w.l @(%o2,%X1.b),%S0"
403   [(set_attr "length_table" "mova")
404    (set_attr "cc" "none")])
405
406 (define_insn ""
407   [(set (match_operand:SI 0 "register_operand" "=r")
408         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
409                           (const_int 1))
410                 (const_int 510)))]
411   "TARGET_H8300SX"
412   "mova/w.l @(0,%X1.b),%S0"
413   [(set_attr "length_table" "mova_zero")
414    (set_attr "cc" "none")])
415
416 (define_insn ""
417   [(set (match_operand:SI 0 "register_operand" "=r")
418         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
419                                    (const_int 1))
420                          (const_int 510))
421                  (match_operand:SI 2 "immediate_operand" "i")))]
422   "TARGET_H8300SX"
423   "mova/w.l @(%o2,%X1.b),%S0"
424   [(set_attr "length_table" "mova")
425    (set_attr "cc" "none")])
426
427 (define_insn ""
428   [(set (match_operand:SI 0 "register_operand" "=r,r")
429         (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
430                   (const_int 4)))]
431   "TARGET_H8300SX"
432   "mova/l.l @(0,%X1.b),%S0"
433   [(set_attr "length_table" "mova_zero")
434    (set_attr "cc" "none")])
435
436 (define_insn ""
437   [(set (match_operand:SI 0 "register_operand" "=r,r")
438         (plus:SI (mult:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
439                            (const_int 4))
440                  (match_operand:SI 2 "immediate_operand" "i,i")))]
441   "TARGET_H8300SX"
442   "mova/l.l @(%o2,%X1.b),%S0"
443   [(set_attr "length_table" "mova")
444    (set_attr "cc" "none")])
445
446 (define_insn ""
447   [(set (match_operand:SI 0 "register_operand" "=r")
448         (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
449                           (const_int 4))
450                 (const_int 1020)))]
451   "TARGET_H8300SX"
452   "mova/l.l @(0,%X1.b),%S0"
453   [(set_attr "length_table" "mova_zero")
454    (set_attr "cc" "none")])
455
456 (define_insn ""
457   [(set (match_operand:SI 0 "register_operand" "=r")
458         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
459                                    (const_int 4))
460                          (const_int 1020))
461                  (match_operand:SI 2 "immediate_operand" "i")))]
462   "TARGET_H8300SX"
463   "mova/l.l @(%o2,%X1.b),%S0"
464   [(set_attr "length_table" "mova")
465    (set_attr "cc" "none")])
466
467 (define_insn ""
468   [(set (match_operand:SI 0 "register_operand" "=r")
469         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
470                           (const_int 4))
471                 (const_int 1020)))]
472   "TARGET_H8300SX"
473   "mova/l.l @(0,%X1.b),%S0"
474   [(set_attr "length_table" "mova_zero")
475    (set_attr "cc" "none")])
476
477 (define_insn ""
478   [(set (match_operand:SI 0 "register_operand" "=r")
479         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
480                                    (const_int 4))
481                          (const_int 1020))
482                  (match_operand:SI 2 "immediate_operand" "i")))]
483   "TARGET_H8300SX"
484   "mova/l.l @(%o2,%X1.b),%S0"
485   [(set_attr "length_table" "mova")
486    (set_attr "cc" "none")])
487
488 (define_insn ""
489   [(set (match_operand:SI 0 "register_operand" "=r,r")
490         (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
491                   (const_int 2)))]
492   "TARGET_H8300SX"
493   "mova/l.l @(0,%X1.b),%S0"
494   [(set_attr "length_table" "mova_zero")
495    (set_attr "cc" "none")])
496
497 (define_insn ""
498   [(set (match_operand:SI 0 "register_operand" "=r,r")
499         (plus:SI (ashift:SI (zero_extend:SI (match_operand:QI 1 "h8300_dst_operand" "0,rQ"))
500                            (const_int 2))
501                  (match_operand:SI 2 "immediate_operand" "i,i")))]
502   "TARGET_H8300SX"
503   "mova/l.l @(%o2,%X1.b),%S0"
504   [(set_attr "length_table" "mova")
505    (set_attr "cc" "none")])
506
507 (define_insn ""
508   [(set (match_operand:SI 0 "register_operand" "=r")
509         (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
510                           (const_int 2))
511                 (const_int 1020)))]
512   "TARGET_H8300SX"
513   "mova/l.l @(0,%X1.b),%S0"
514   [(set_attr "length_table" "mova_zero")
515    (set_attr "cc" "none")])
516
517 (define_insn ""
518   [(set (match_operand:SI 0 "register_operand" "=r")
519         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:QI 1 "memory_operand" "m") 0)
520                                    (const_int 2))
521                          (const_int 1020))
522                  (match_operand:SI 2 "immediate_operand" "i")))]
523   "TARGET_H8300SX"
524   "mova/l.l @(%o2,%X1.b),%S0"
525   [(set_attr "length_table" "mova")
526    (set_attr "cc" "none")])
527
528 (define_insn ""
529   [(set (match_operand:SI 0 "register_operand" "=r")
530         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
531                           (const_int 2))
532                 (const_int 1020)))]
533   "TARGET_H8300SX"
534   "mova/l.l @(0,%X1.b),%S0"
535   [(set_attr "length_table" "mova_zero")
536    (set_attr "cc" "none")])
537
538 (define_insn ""
539   [(set (match_operand:SI 0 "register_operand" "=r")
540         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
541                                    (const_int 2))
542                          (const_int 1020))
543                  (match_operand:SI 2 "immediate_operand" "i")))]
544   "TARGET_H8300SX"
545   "mova/l.l @(%o2,%X1.b),%S0"
546   [(set_attr "length_table" "mova")
547    (set_attr "cc" "none")])
548
549 (define_insn ""
550   [(set (match_operand:HI 0 "register_operand" "=r,r")
551         (plus:HI (mult:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
552                            (const_int 2))
553                  (match_operand:HI 2 "immediate_operand" "i,i")))]
554   "TARGET_H8300SX"
555   "mova/w.l @(%o2,%T1.w),%S0"
556   [(set_attr "length_table" "mova")
557    (set_attr "cc" "none")])
558
559 (define_insn ""
560   [(set (match_operand:HI 0 "register_operand" "=r,r")
561         (plus:HI (ashift:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
562                            (const_int 1))
563                  (match_operand:HI 2 "immediate_operand" "i,i")))]
564   "TARGET_H8300SX"
565   "mova/w.l @(%o2,%T1.w),%S0"
566   [(set_attr "length_table" "mova")
567    (set_attr "cc" "none")])
568
569 (define_insn ""
570   [(set (match_operand:HI 0 "register_operand" "=r,r")
571         (plus:HI (mult:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
572                            (const_int 4))
573                  (match_operand:HI 2 "immediate_operand" "i,i")))]
574   "TARGET_H8300SX"
575   "mova/l.l @(%o2,%T1.w),%S0"
576   [(set_attr "length_table" "mova")
577    (set_attr "cc" "none")])
578
579 (define_insn ""
580   [(set (match_operand:HI 0 "register_operand" "=r,r")
581         (plus:HI (ashift:HI (match_operand:HI 1 "h8300_dst_operand" "0,rQ")
582                            (const_int 2))
583                  (match_operand:HI 2 "immediate_operand" "i,i")))]
584   "TARGET_H8300SX"
585   "mova/l.l @(%o2,%T1.w),%S0"
586   [(set_attr "length_table" "mova")
587    (set_attr "cc" "none")])
588
589 (define_insn ""
590   [(set (match_operand:SI 0 "register_operand" "=r,r")
591         (plus:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
592                  (match_operand:SI 2 "immediate_operand" "i,i")))]
593   "TARGET_H8300SX"
594   "mova/b.l @(%o2,%T1.w),%S0"
595   [(set_attr "length_table" "mova")
596    (set_attr "cc" "none")])
597
598 (define_insn ""
599   [(set (match_operand:SI 0 "register_operand" "=r,r")
600         (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
601                   (const_int 2)))]
602   "TARGET_H8300SX"
603   "mova/w.l @(0,%T1.w),%S0"
604   [(set_attr "length_table" "mova_zero")
605    (set_attr "cc" "none")])
606
607 (define_insn ""
608   [(set (match_operand:SI 0 "register_operand" "=r,r")
609         (plus:SI (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
610                            (const_int 2))
611                  (match_operand:SI 2 "immediate_operand" "i,i")))]
612   "TARGET_H8300SX"
613   "mova/w.l @(%o2,%T1.w),%S0"
614   [(set_attr "length_table" "mova")
615    (set_attr "cc" "none")])
616
617 (define_insn ""
618   [(set (match_operand:SI 0 "register_operand" "=r")
619         (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
620                           (const_int 2))
621                 (const_int 131070)))]
622   "TARGET_H8300SX"
623   "mova/w.l @(0,%T1.w),%S0"
624   [(set_attr "length_table" "mova_zero")
625    (set_attr "cc" "none")])
626
627 (define_insn ""
628   [(set (match_operand:SI 0 "register_operand" "=r")
629         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
630                                    (const_int 2))
631                          (const_int 131070))
632                  (match_operand:SI 2 "immediate_operand" "i")))]
633   "TARGET_H8300SX"
634   "mova/w.l @(%o2,%T1.w),%S0"
635   [(set_attr "length_table" "mova")
636    (set_attr "cc" "none")])
637
638 (define_insn ""
639   [(set (match_operand:SI 0 "register_operand" "=r")
640         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
641                           (const_int 2))
642                 (const_int 131070)))]
643   "TARGET_H8300SX"
644   "mova/w.l @(0,%T1.w),%S0"
645   [(set_attr "length_table" "mova_zero")
646    (set_attr "cc" "none")])
647
648 (define_insn ""
649   [(set (match_operand:SI 0 "register_operand" "=r")
650         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
651                                    (const_int 2))
652                          (const_int 131070))
653                  (match_operand:SI 2 "immediate_operand" "i")))]
654   "TARGET_H8300SX"
655   "mova/w.l @(%o2,%T1.w),%S0"
656   [(set_attr "length_table" "mova")
657    (set_attr "cc" "none")])
658
659 (define_insn ""
660   [(set (match_operand:SI 0 "register_operand" "=r,r")
661         (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
662                   (const_int 1)))]
663   "TARGET_H8300SX"
664   "mova/w.l @(0,%T1.w),%S0"
665   [(set_attr "length_table" "mova_zero")
666    (set_attr "cc" "none")])
667
668 (define_insn ""
669   [(set (match_operand:SI 0 "register_operand" "=r,r")
670         (plus:SI (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
671                            (const_int 1))
672                  (match_operand:SI 2 "immediate_operand" "i,i")))]
673   "TARGET_H8300SX"
674   "mova/w.l @(%o2,%T1.w),%S0"
675   [(set_attr "length_table" "mova")
676    (set_attr "cc" "none")])
677
678 (define_insn ""
679   [(set (match_operand:SI 0 "register_operand" "=r")
680         (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
681                           (const_int 1))
682                 (const_int 131070)))]
683   "TARGET_H8300SX"
684   "mova/w.l @(0,%T1.w),%S0"
685   [(set_attr "length_table" "mova_zero")
686    (set_attr "cc" "none")])
687
688 (define_insn ""
689   [(set (match_operand:SI 0 "register_operand" "=r")
690         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
691                                    (const_int 1))
692                          (const_int 131070))
693                  (match_operand:SI 2 "immediate_operand" "i")))]
694   "TARGET_H8300SX"
695   "mova/w.l @(%o2,%T1.w),%S0"
696   [(set_attr "length_table" "mova")
697    (set_attr "cc" "none")])
698
699 (define_insn ""
700   [(set (match_operand:SI 0 "register_operand" "=r")
701         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
702                           (const_int 1))
703                 (const_int 131070)))]
704   "TARGET_H8300SX"
705   "mova/w.l @(0,%T1.w),%S0"
706   [(set_attr "length_table" "mova_zero")
707    (set_attr "cc" "none")])
708
709 (define_insn ""
710   [(set (match_operand:SI 0 "register_operand" "=r")
711         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
712                                    (const_int 1))
713                          (const_int 131070))
714                  (match_operand:SI 2 "immediate_operand" "i")))]
715   "TARGET_H8300SX"
716   "mova/w.l @(%o2,%T1.w),%S0"
717   [(set_attr "length_table" "mova")
718    (set_attr "cc" "none")])
719
720 (define_insn ""
721   [(set (match_operand:SI 0 "register_operand" "=r,r")
722         (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
723                   (const_int 4)))]
724   "TARGET_H8300SX"
725   "mova/l.l @(0,%T1.w),%S0"
726   [(set_attr "length_table" "mova_zero")
727    (set_attr "cc" "none")])
728
729 (define_insn ""
730   [(set (match_operand:SI 0 "register_operand" "=r,r")
731         (plus:SI (mult:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
732                            (const_int 4))
733                  (match_operand:SI 2 "immediate_operand" "i,i")))]
734   "TARGET_H8300SX"
735   "mova/l.l @(%o2,%T1.w),%S0"
736   [(set_attr "length_table" "mova")
737    (set_attr "cc" "none")])
738
739 (define_insn ""
740   [(set (match_operand:SI 0 "register_operand" "=r")
741         (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
742                           (const_int 4))
743                 (const_int 262140)))]
744   "TARGET_H8300SX"
745   "mova/l.l @(0,%T1.w),%S0"
746   [(set_attr "length_table" "mova_zero")
747    (set_attr "cc" "none")])
748
749 (define_insn ""
750   [(set (match_operand:SI 0 "register_operand" "=r")
751         (plus:SI (and:SI (mult:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
752                                    (const_int 4))
753                          (const_int 262140))
754                  (match_operand:SI 2 "immediate_operand" "i")))]
755   "TARGET_H8300SX"
756   "mova/l.l @(%o2,%T1.w),%S0"
757   [(set_attr "length_table" "mova")
758    (set_attr "cc" "none")])
759
760 (define_insn ""
761   [(set (match_operand:SI 0 "register_operand" "=r")
762         (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
763                           (const_int 4))
764                 (const_int 262140)))]
765   "TARGET_H8300SX"
766   "mova/l.l @(0,%T1.w),%S0"
767   [(set_attr "length_table" "mova_zero")
768    (set_attr "cc" "none")])
769
770 (define_insn ""
771   [(set (match_operand:SI 0 "register_operand" "=r")
772         (plus:SI (and:SI (mult:SI (match_operand:SI 1 "register_operand" "0")
773                                    (const_int 4))
774                          (const_int 262140))
775                  (match_operand:SI 2 "immediate_operand" "i")))]
776   "TARGET_H8300SX"
777   "mova/l.l @(%o2,%T1.w),%S0"
778   [(set_attr "length_table" "mova")
779    (set_attr "cc" "none")])
780
781 (define_insn ""
782   [(set (match_operand:SI 0 "register_operand" "=r,r")
783         (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
784                   (const_int 2)))]
785   "TARGET_H8300SX"
786   "mova/l.l @(0,%T1.w),%S0"
787   [(set_attr "length_table" "mova_zero")
788    (set_attr "cc" "none")])
789
790 (define_insn ""
791   [(set (match_operand:SI 0 "register_operand" "=r,r")
792         (plus:SI (ashift:SI (zero_extend:SI (match_operand:HI 1 "h8300_dst_operand" "0,rQ"))
793                            (const_int 2))
794                  (match_operand:SI 2 "immediate_operand" "i,i")))]
795   "TARGET_H8300SX"
796   "mova/l.l @(%o2,%T1.w),%S0"
797   [(set_attr "length_table" "mova")
798    (set_attr "cc" "none")])
799
800 (define_insn ""
801   [(set (match_operand:SI 0 "register_operand" "=r")
802         (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
803                           (const_int 2))
804                 (const_int 262140)))]
805   "TARGET_H8300SX"
806   "mova/l.l @(0,%T1.w),%S0"
807   [(set_attr "length_table" "mova_zero")
808    (set_attr "cc" "none")])
809
810 (define_insn ""
811   [(set (match_operand:SI 0 "register_operand" "=r")
812         (plus:SI (and:SI (ashift:SI (subreg:SI (match_operand:HI 1 "memory_operand" "m") 0)
813                                    (const_int 2))
814                          (const_int 262140))
815                  (match_operand:SI 2 "immediate_operand" "i")))]
816   "TARGET_H8300SX"
817   "mova/l.l @(%o2,%T1.w),%S0"
818   [(set_attr "length_table" "mova")
819    (set_attr "cc" "none")])
820
821 (define_insn ""
822   [(set (match_operand:SI 0 "register_operand" "=r")
823         (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
824                           (const_int 2))
825                 (const_int 262140)))]
826   "TARGET_H8300SX"
827   "mova/l.l @(0,%T1.w),%S0"
828   [(set_attr "length_table" "mova_zero")
829    (set_attr "cc" "none")])
830
831 (define_insn ""
832   [(set (match_operand:SI 0 "register_operand" "=r")
833         (plus:SI (and:SI (ashift:SI (match_operand:SI 1 "register_operand" "0")
834                                    (const_int 2))
835                          (const_int 262140))
836                  (match_operand:SI 2 "immediate_operand" "i")))]
837   "TARGET_H8300SX"
838   "mova/l.l @(%o2,%T1.w),%S0"
839   [(set_attr "length_table" "mova")
840    (set_attr "cc" "none")])
841