• Home
  • Raw
  • Download

Lines Matching refs:src2

21   : ALU32_rr<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
22 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
23 [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
26 : ALU32_rr<(outs PredRegs:$dst), (ins IntRegs:$src1, s10Imm:$src2),
27 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
28 [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
31 : ALU32_rr<(outs PredRegs:$dst), (ins IntRegs:$src1, s8Imm:$src2),
32 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
33 [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
36 : ALU32_rr<(outs PredRegs:$dst), (ins IntRegs:$src1, u8Imm:$src2),
37 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
38 [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
41 : ALU32_rr<(outs PredRegs:$dst), (ins IntRegs:$src1, u9Imm:$src2),
42 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
43 [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
46 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
48 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, $src3)")),
49 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2,
53 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, s8Imm:$src2,
55 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2, $src3)")),
56 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2,
60 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2,
62 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, #$src3)")),
63 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2,
67 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, s8Imm:$src2, s8Imm:$src3),
68 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2, #$src3)")),
69 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2, imm:$src3))]>;
72 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
73 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
74 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
77 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
78 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):sat")),
79 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
82 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
83 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):rnd")),
84 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
87 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, s16Imm:$src2),
88 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
89 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
92 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, s10Imm:$src2),
93 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
94 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
97 : ALU32_rr<(outs IntRegs:$dst), (ins s10Imm:$src1, IntRegs:$src2),
98 !strconcat("$dst = ", !strconcat(opc , "(#$src1, $src2)")),
99 [(set IntRegs:$dst, (IntID imm:$src1, IntRegs:$src2))]>;
102 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, u16Imm:$src2),
103 !strconcat("$dst.l = ", !strconcat(opc , "#$src2")),
104 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
107 : ALU32_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, u16Imm:$src2),
108 !strconcat("$dst.h = ", !strconcat(opc , "#$src2")),
109 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
146 : ALU64_rr<(outs IntRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
147 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
148 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
151 : ALU64_rr<(outs DoubleRegs:$dst), (ins IntRegs:$src1, DoubleRegs:$src2),
152 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
153 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, DoubleRegs:$src2))]>;
156 : ALU64_rr<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
157 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
159 DoubleRegs:$src2))]>;
162 : ALU64_rr<(outs DoubleRegs:$dst), (ins IntRegs:$src1, DoubleRegs:$src2,
164 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, $src3)")),
165 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, DoubleRegs:$src2,
169 : ALU64_rr<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
170 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
171 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
174 : ALU64_rr<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
175 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):sat")),
177 DoubleRegs:$src2))]>;
180 : ALU64_rr<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
181 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):rnd")),
183 DoubleRegs:$src2))]>;
186 : ALU64_rr<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
187 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):crnd")),
189 DoubleRegs:$src2))]>;
192 : ALU64_rr<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
193 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):rnd:sat")),
195 DoubleRegs:$src2))]>;
198 : ALU64_rr<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
199 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):crnd:sat")),
201 DoubleRegs:$src2))]>;
204 : ALU64_rr<(outs PredRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
205 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
206 [(set PredRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
209 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
210 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
211 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
214 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
215 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H):sat")),
216 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
219 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
220 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H):sat")),
221 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
224 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
225 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H):sat")),
226 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
229 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
230 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L):sat")),
231 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
234 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
235 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L):sat")),
236 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
239 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
240 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H)")),
241 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
244 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
245 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L)")),
246 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
249 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
250 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H)")),
251 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
254 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
255 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L)")),
256 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
259 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
261 "($src1.H, $src2.H):sat:<<16")),
262 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
265 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
267 "($src1.L, $src2.H):sat:<<16")),
268 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
271 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
273 "($src1.H, $src2.L):sat:<<16")),
274 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
277 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
279 "($src1.L, $src2.L):sat:<<16")),
280 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
283 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
284 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H):<<16")),
285 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
288 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
289 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L):<<16")),
290 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
293 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
294 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H):<<16")),
295 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
298 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
299 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L):<<16")),
300 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
303 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
304 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H)")),
305 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
308 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
309 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L)")),
310 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
313 : ALU64_rr<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
314 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):sat")),
315 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
332 : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
333 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
334 [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
337 : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
338 !strconcat("$dst = ", !strconcat(opc , "($src1, !$src2)")),
339 [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
362 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, IntRegs:$src2),
363 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
364 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, IntRegs:$src2))]>;
367 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
368 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
369 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
377 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2, u3Imm:$src3),
378 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, #$src3)")),
379 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2,
383 : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u5Imm:$src2),
384 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
385 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
388 : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, IntRegs:$src2),
389 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
390 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, IntRegs:$src2))]>;
393 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, DoubleRegs:$src2),
394 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
395 [(set IntRegs:$dst, (IntID IntRegs:$src1, DoubleRegs:$src2))]>;
398 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, IntRegs:$src2,
400 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, $src3)")),
401 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, IntRegs:$src2,
405 : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
406 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
407 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
410 : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2),
411 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
412 [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
415 : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, u6Imm:$src2),
416 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
417 [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
420 : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
421 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
422 [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
445 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
446 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
447 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
455 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
456 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
457 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
460 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u6Imm:$src2),
461 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
462 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>;
465 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2),
466 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")),
467 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
470 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2),
471 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd")),
472 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>;
475 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2, u5Imm:$src3),
476 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2, #$src3)")),
477 [(set IntRegs:$dst, (IntID IntRegs:$src1, imm:$src2, imm:$src3))]>;
481 IntRegs:$src2),
482 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2)")),
484 IntRegs:$src2))],
489 IntRegs:$src2),
490 !strconcat("$dst -= ", !strconcat(opc , "($src1, $src2)")),
492 IntRegs:$src2))],
497 IntRegs:$src2),
498 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2)")),
501 IntRegs:$src2))],
506 IntRegs:$src2),
507 !strconcat("$dst -= ", !strconcat(opc , "($src1, $src2)")),
509 DoubleRegs:$src1, IntRegs:$src2))],
514 u5Imm:$src2, u5Imm:$src3),
516 "($src1, #$src2, #$src3)")),
518 imm:$src2, imm:$src3))],
523 DoubleRegs:$src2),
524 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
526 DoubleRegs:$src2))],
531 u6Imm:$src2, u6Imm:$src3),
533 "($src1, #$src2, #$src3)")),
535 imm:$src2, imm:$src3))],
540 DoubleRegs:$src2),
541 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
544 DoubleRegs:$src2))],
548 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u6Imm:$src2,
550 !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2, #$src3)")),
551 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2,
555 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
557 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, $src3)")),
558 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2,
562 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
564 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, $src3)")),
565 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2,
569 : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2,
571 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2, #$src3)")),
572 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2,
577 IntRegs:$src2),
578 !strconcat("$dst |= ", !strconcat(opc , "($src1, $src2)")),
580 IntRegs:$src2))],
585 IntRegs:$src2),
586 !strconcat("$dst &= ", !strconcat(opc , "($src1, $src2)")),
588 IntRegs:$src2))],
593 u6Imm:$src2),
594 !strconcat("$dst &= ", !strconcat(opc , "($src1, #$src2)")),
596 imm:$src2))],
601 u6Imm:$src2),
602 !strconcat("$dst |= ", !strconcat(opc , "($src1, #$src2)")),
604 imm:$src2))],
609 u6Imm:$src2),
610 !strconcat("$dst ^= ", !strconcat(opc , "($src1, #$src2)")),
612 imm:$src2))],
617 IntRegs:$src2),
618 !strconcat("$dst &= ", !strconcat(opc , "($src1, $src2)")),
620 IntRegs:$src2))],
625 IntRegs:$src2),
626 !strconcat("$dst |= ", !strconcat(opc , "($src1, $src2)")),
628 IntRegs:$src2))],
634 u5Imm:$src2),
635 !strconcat("$dst &= ", !strconcat(opc , "($src1, #$src2)")),
637 imm:$src2))],
642 u5Imm:$src2),
643 !strconcat("$dst |= ", !strconcat(opc , "($src1, #$src2)")),
645 imm:$src2))],
650 u5Imm:$src2),
651 !strconcat("$dst ^= ", !strconcat(opc , "($src1, #$src2)")),
653 imm:$src2))],
658 u5Imm:$src2),
659 !strconcat("$dst += ", !strconcat(opc , "($src1, #$src2)")),
661 imm:$src2))],
666 u5Imm:$src2),
667 !strconcat("$dst -= ", !strconcat(opc , "($src1, #$src2)")),
669 imm:$src2))],
674 u5Imm:$src2),
675 !strconcat("$dst += ", !strconcat(opc , "($src1, #$src2)")),
677 DoubleRegs:$src1, imm:$src2))],
682 u5Imm:$src2),
683 !strconcat("$dst -= ", !strconcat(opc , "($src1, #$src2)")),
685 imm:$src2))],
694 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
696 "($src1.H, $src2.H):<<1:rnd")),
697 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
700 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
702 "($src1.H, $src2.H):rnd")),
703 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
706 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
708 "($src1.H, $src2.L):<<1:rnd")),
709 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
712 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
714 "($src1.H, $src2.L):rnd")),
715 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
718 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
720 "($src1.L, $src2.H):<<1:rnd")),
721 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
724 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
726 "($src1.L, $src2.H):rnd")),
727 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
730 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
732 "($src1.L, $src2.L):<<1:rnd")),
733 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
736 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
738 "($src1.L, $src2.L):rnd")),
739 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
743 IntRegs:$src2),
744 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2)")),
746 IntRegs:$src2))],
751 IntRegs:$src2),
752 !strconcat("$dst -= ", !strconcat(opc , "($src1, $src2)")),
754 IntRegs:$src2))],
759 IntRegs:$src2),
760 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2):sat")),
762 IntRegs:$src2))],
767 IntRegs:$src2),
768 !strconcat("$dst -= ", !strconcat(opc , "($src1, $src2):sat")),
770 IntRegs:$src2))],
775 IntRegs:$src2),
776 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2*):sat")),
778 IntRegs:$src2))],
783 IntRegs:$src2),
784 !strconcat("$dst -= ", !strconcat(opc , "($src1, $src2*):sat")),
786 IntRegs:$src2))],
791 IntRegs:$src2),
793 "($src1, $src2):<<1:sat")),
795 IntRegs:$src2))],
800 IntRegs:$src2),
802 "($src1, $src2*):<<1:sat")),
804 IntRegs:$src2))],
809 IntRegs:$src2),
811 "($src1, $src2*):<<1:sat")),
813 IntRegs:$src2))],
817 : MInst<(outs DoubleRegs:$dst), (ins s8Imm:$src1, s8Imm:$src2),
818 !strconcat("$dst = ", !strconcat(opc , "(#$src1, #$src2)")),
819 [(set DoubleRegs:$dst, (IntID imm:$src1, imm:$src2))]>;
822 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
823 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
824 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
827 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
828 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H)")),
829 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
832 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
833 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H):<<1")),
834 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
837 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
838 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H)")),
839 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
842 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
843 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H):<<1")),
844 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
847 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
848 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L)")),
849 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
852 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
853 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L):<<1")),
854 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
857 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
858 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L)")),
859 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
862 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
863 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L):<<1")),
864 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
868 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
869 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H)")),
870 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
873 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
874 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H):<<1")),
875 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
878 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
879 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H)")),
880 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
883 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
884 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H):<<1")),
885 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
888 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
889 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L)")),
890 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
893 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
894 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L):<<1")),
895 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
898 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
899 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L)")),
900 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
903 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
904 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L):<<1")),
905 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
908 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
909 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
910 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
913 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
914 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
916 DoubleRegs:$src2))]>;
919 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
920 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2*)")),
922 DoubleRegs:$src2))]>;
925 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
927 "($src1, $src2*):<<1:sat")),
928 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
931 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
933 "($src1, $src2):<<1:rnd:sat")),
935 DoubleRegs:$src2))]>;
938 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
939 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):sat")),
941 DoubleRegs:$src2))]>;
944 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
946 "($src1, $src2):rnd:sat")),
948 DoubleRegs:$src2))]>;
951 : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
952 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):sat")),
953 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
956 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
958 "($src1, $src2):<<1:rnd:sat")),
959 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
962 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
964 "($src1, $src2.L):<<1:rnd:sat")),
965 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
968 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
970 "($src1, $src2.H):<<1:rnd:sat")),
971 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
974 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
976 "($src1, $src2*):rnd:sat")),
977 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
980 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
982 "($src1, $src2*):<<1:rnd:sat")),
983 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
986 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
988 "($src1, $src2):rnd:sat")),
989 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
992 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
993 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):rnd")),
994 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
997 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
999 !strconcat("$dst ^= ", !strconcat(opc , "($src2, $src3)")),
1000 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1005 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
1007 !strconcat("$dst += ", !strconcat(opc , "($src2, $src3)")),
1008 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1013 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
1015 !strconcat("$dst -= ", !strconcat(opc , "($src2, $src3)")),
1016 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1021 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
1023 !strconcat("$dst += ", !strconcat(opc , "($src2, #$src3)")),
1024 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1029 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
1031 !strconcat("$dst -= ", !strconcat(opc , "($src2, #$src3)")),
1032 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1038 u4Imm:$src2, u5Imm:$src3),
1040 "($src1, #$src2, #$src3)")),
1042 imm:$src2, imm:$src3))],
1046 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
1048 !strconcat("$dst += ", !strconcat(opc , "($src2, #$src3)")),
1049 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1054 : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src2,
1056 !strconcat("$dst -= ", !strconcat(opc , "($src2, #$src3)")),
1057 [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src2,
1063 IntRegs:$src2),
1064 !strconcat("$dst += ", !strconcat(opc , "($src1.H, $src2.H)")),
1066 IntRegs:$src2))],
1071 IntRegs:$src2),
1073 "($src1.L, $src2.H):sat")),
1075 IntRegs:$src2))],
1080 IntRegs:$src2),
1082 "($src1.L, $src2.H):<<1:sat")),
1084 IntRegs:$src2))],
1089 IntRegs:$src2),
1091 "($src1.H, $src2.H):sat")),
1093 IntRegs:$src2))],
1098 IntRegs:$src2),
1100 "($src1.H, $src2.H):<<1:sat")),
1102 IntRegs:$src2))],
1107 IntRegs:$src2),
1109 "($src1.H, $src2.H):<<1")),
1111 IntRegs:$src2))],
1116 IntRegs:$src2),
1117 !strconcat("$dst -= ", !strconcat(opc , "($src1.H, $src2.H)")),
1119 IntRegs:$src2))],
1124 IntRegs:$src2),
1126 "($src1.H, $src2.H):<<1:sat")),
1128 IntRegs:$src2))],
1133 IntRegs:$src2),
1135 "($src1.H, $src2.H):sat")),
1137 IntRegs:$src2))],
1142 IntRegs:$src2),
1144 "($src1.H, $src2.L):<<1:sat")),
1146 IntRegs:$src2))],
1151 IntRegs:$src2),
1153 "($src1.H, $src2.L):sat")),
1155 IntRegs:$src2))],
1160 IntRegs:$src2),
1162 "($src1.L, $src2.H):<<1:sat")),
1164 IntRegs:$src2))],
1169 IntRegs:$src2),
1171 "($src1.L, $src2.H):sat")),
1173 IntRegs:$src2))],
1178 IntRegs:$src2),
1180 "($src1.L, $src2.L):<<1:sat")),
1182 IntRegs:$src2))],
1187 IntRegs:$src2),
1189 "($src1.L, $src2.L):sat")),
1191 IntRegs:$src2))],
1196 IntRegs:$src2),
1198 "($src1.H, $src2.H):<<1")),
1200 IntRegs:$src2))],
1205 IntRegs:$src2),
1206 !strconcat("$dst += ", !strconcat(opc , "($src1.H, $src2.L)")),
1208 IntRegs:$src2))],
1213 IntRegs:$src2),
1215 "($src1.H, $src2.L):<<1")),
1217 IntRegs:$src2))],
1222 IntRegs:$src2),
1223 !strconcat("$dst -= ", !strconcat(opc , "($src1.H, $src2.L)")),
1225 IntRegs:$src2))],
1230 IntRegs:$src2),
1232 "($src1.H, $src2.L):<<1")),
1234 IntRegs:$src2))],
1239 IntRegs:$src2),
1240 !strconcat("$dst += ", !strconcat(opc , "($src1.L, $src2.H)")),
1242 IntRegs:$src2))],
1247 IntRegs:$src2),
1249 "($src1.L, $src2.H):<<1")),
1251 IntRegs:$src2))],
1256 IntRegs:$src2),
1257 !strconcat("$dst -= ", !strconcat(opc , "($src1.L, $src2.H)")),
1259 IntRegs:$src2))],
1264 IntRegs:$src2),
1266 "($src1.L, $src2.H):<<1")),
1268 IntRegs:$src2))],
1273 IntRegs:$src2),
1274 !strconcat("$dst += ", !strconcat(opc , "($src1.L, $src2.L)")),
1276 IntRegs:$src2))],
1281 IntRegs:$src2),
1283 "($src1.L, $src2.L):<<1")),
1285 IntRegs:$src2))],
1290 IntRegs:$src2),
1292 "($src1.L, $src2.L):<<1:sat")),
1294 IntRegs:$src2))],
1299 IntRegs:$src2),
1301 "($src1.H, $src2.L):<<1:sat")),
1303 IntRegs:$src2))],
1308 IntRegs:$src2),
1310 "($src1.L, $src2.L):sat")),
1312 IntRegs:$src2))],
1317 IntRegs:$src2),
1319 "($src1.H, $src2.L):sat")),
1321 IntRegs:$src2))],
1326 IntRegs:$src2),
1327 !strconcat("$dst -= ", !strconcat(opc , "($src1.L, $src2.L)")),
1329 IntRegs:$src2))],
1334 IntRegs:$src2),
1336 "($src1.L, $src2.L):<<1")),
1338 IntRegs:$src2))],
1343 IntRegs:$src2),
1345 "($src1.H, $src2.H):sat")),
1347 IntRegs:$src2))],
1352 IntRegs:$src2),
1354 "($src1.H, $src2.H):<<1:sat")),
1356 IntRegs:$src2))],
1361 IntRegs:$src2),
1363 "($src1.H, $src2.L):sat")),
1365 IntRegs:$src2))],
1370 IntRegs:$src2),
1372 "($src1.H, $src2.L):<<1:sat")),
1374 IntRegs:$src2))],
1379 IntRegs:$src2),
1381 "($src1.L, $src2.H):sat")),
1383 IntRegs:$src2))],
1388 IntRegs:$src2),
1390 "($src1.L, $src2.H):<<1:sat")),
1392 IntRegs:$src2))],
1397 IntRegs:$src2),
1399 "($src1.L, $src2.L):sat")),
1401 IntRegs:$src2))],
1406 IntRegs:$src2),
1408 "($src1.L, $src2.L):<<1:sat")),
1410 IntRegs:$src2))],
1414 : ALU32_rr<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1415 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
1416 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1419 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1420 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
1421 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1424 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1425 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):sat")),
1426 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1429 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1430 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2*):sat")),
1431 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1434 : MInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1435 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):<<1:sat")),
1436 [(set DoubleRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1439 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
1440 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):<<1:sat")),
1442 DoubleRegs:$src2))]>;
1445 : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
1447 "($src1, $src2):<<1:rnd:sat")),
1448 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
1451 : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
1452 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):rnd:sat")),
1453 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;
1456 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1457 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.H):sat")),
1458 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1461 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1463 "($src1.H, $src2.H):<<1:sat")),
1464 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1467 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1468 !strconcat("$dst = ", !strconcat(opc , "($src1.H, $src2.L):sat")),
1469 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1472 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1474 "($src1.H, $src2.L):<<1:sat")),
1475 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1478 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1479 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.H):sat")),
1480 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1483 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1485 "($src1.L, $src2.H):<<1:sat")),
1486 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1489 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1490 !strconcat("$dst = ", !strconcat(opc , "($src1.L, $src2.L):sat")),
1491 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1494 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1496 "($src1.L, $src2.L):<<1:sat")),
1497 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1500 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1502 "($src1.H, $src2.H):rnd:sat")),
1503 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1506 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1508 "($src1.H, $src2.H):rnd")),
1509 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1512 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1514 "($src1.H, $src2.H):<<1:rnd")),
1515 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1518 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1521 "($src1.H, $src2.H):<<1:rnd:sat")),
1522 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1525 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1527 !strconcat(opc , "($src1.H, $src2.L):rnd")),
1528 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1531 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1533 !strconcat(opc , "($src1.H, $src2.L):<<1:rnd")),
1534 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1537 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1539 !strconcat(opc , "($src1.H, $src2.L):rnd:sat")),
1540 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1543 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1545 !strconcat(opc , "($src1.H, $src2.L):<<1:rnd:sat")),
1546 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1549 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1551 !strconcat(opc , "($src1.L, $src2.H):rnd")),
1552 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1555 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1557 !strconcat(opc , "($src1.L, $src2.H):rnd:sat")),
1558 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1561 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1563 !strconcat(opc , "($src1.L, $src2.H):<<1:rnd:sat")),
1564 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1567 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1569 !strconcat(opc , "($src1.L, $src2.H):<<1:rnd")),
1570 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1573 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1575 !strconcat(opc , "($src1.L, $src2.L):rnd:sat")),
1576 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1579 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1581 !strconcat(opc , "($src1.L, $src2.L):<<1:rnd:sat")),
1582 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1585 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1587 !strconcat(opc , "($src1.L, $src2.L):rnd")),
1588 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1591 : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2),
1593 !strconcat(opc , "($src1.L, $src2.L):<<1:rnd")),
1594 [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>;
1598 DoubleRegs:$src1, DoubleRegs:$src2),
1599 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2):sat")),
1602 DoubleRegs:$src2))],
1607 DoubleRegs:$src2),
1609 !strconcat(opc , "($src1, $src2):rnd:sat")),
1612 DoubleRegs:$src2))],
1618 DoubleRegs:$src2),
1620 !strconcat(opc , "($src1, $src2):<<1:sat")),
1623 DoubleRegs:$src2))],
1628 DoubleRegs:$src2),
1630 !strconcat(opc , "($src1, $src2):<<1:rnd:sat")),
1633 DoubleRegs:$src2))],
1638 DoubleRegs:$src2),
1639 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2)")),
1642 DoubleRegs:$src2))],
1647 DoubleRegs:$src2),
1648 !strconcat("$dst += ", !strconcat(opc , "($src1, $src2*)")),
1651 DoubleRegs:$src2))],
1656 IntRegs:$src2),
1657 !strconcat("$dst += ", !strconcat(opc , "($src1.H, $src2.H)")),
1659 IntRegs:$src2))],
1664 IntRegs:$src2),
1665 !strconcat("$dst += ", !strconcat(opc , "($src1.H, $src2.L)")),
1667 IntRegs:$src2))],
1672 IntRegs:$src2),
1673 !strconcat("$dst += ", !strconcat(opc , "($src1.L, $src2.H)")),
1675 IntRegs:$src2))],
1680 IntRegs:$src2),
1681 !strconcat("$dst += ", !strconcat(opc , "($src1.L, $src2.L)")),
1683 IntRegs:$src2))],
1688 IntRegs:$src2),
1690 !strconcat(opc , "($src1.H, $src2.H):<<1")),
1692 IntRegs:$src2))],
1697 IntRegs:$src2),
1699 !strconcat(opc , "($src1.H, $src2.L):<<1")),
1701 IntRegs:$src2))],
1706 IntRegs:$src2),
1708 !strconcat(opc , "($src1.L, $src2.H):<<1")),
1710 IntRegs:$src2))],
1715 IntRegs:$src2),
1717 !strconcat(opc , "($src1.L, $src2.L):<<1")),
1719 IntRegs:$src2))],
1724 IntRegs:$src2),
1725 !strconcat("$dst -= ", !strconcat(opc , "($src1.H, $src2.H)")),
1727 IntRegs:$src2))],
1732 IntRegs:$src2),
1733 !strconcat("$dst -= ", !strconcat(opc , "($src1.H, $src2.L)")),
1735 IntRegs:$src2))],
1740 IntRegs:$src2),
1741 !strconcat("$dst -= ", !strconcat(opc , "($src1.L, $src2.H)")),
1743 IntRegs:$src2))],
1748 IntRegs:$src2),
1749 !strconcat("$dst -= ", !strconcat(opc , "($src1.L, $src2.L)")),
1751 IntRegs:$src2))],
1756 IntRegs:$src2),
1758 !strconcat(opc , "($src1.H, $src2.H):<<1")),
1760 IntRegs:$src2))],
1765 IntRegs:$src2),
1767 !strconcat(opc , "($src1.H, $src2.L):<<1")),
1769 IntRegs:$src2))],
1774 IntRegs:$src2),
1776 !strconcat(opc , "($src1.L, $src2.H):<<1")),
1778 IntRegs:$src2))],
1783 IntRegs:$src2),
1785 !strconcat(opc , "($src1.L, $src2.L):<<1")),
1787 IntRegs:$src2))],
1792 IntRegs:$src2),
1794 !strconcat(opc , "($src1, $src2):<<1:sat")),
1796 IntRegs:$src2))],
1800 : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, IntRegs:$src2),
1801 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2):<<1:sat")),
1802 [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, IntRegs:$src2))]>;
1806 IntRegs:$src2),
1808 !strconcat(opc , "($src1, $src2):<<1:sat")),
1811 IntRegs:$src2))],
1815 : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, IntRegs:$src2),
1817 !strconcat(opc , "($src1, $src2):<<1:rnd:sat")),
1818 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, IntRegs:$src2))]>;
1821 : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2),
1822 !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")),
1823 [(set IntRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>;