xref: /openbsd/gnu/gcc/gcc/config/h8300/mova.md (revision 404b540a)
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
842