@@ -240,27 +240,27 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
240
240
default :
241
241
return None;
242
242
243
+ case AArch64::LD1i64:
244
+ case AArch64::LD2i64:
245
+ DestRegIdx = 0 ;
246
+ BaseRegIdx = 3 ;
247
+ OffsetIdx = -1 ;
248
+ IsPrePost = false ;
249
+ break ;
250
+
243
251
case AArch64::LD1i8:
244
252
case AArch64::LD1i16:
245
253
case AArch64::LD1i32:
246
- case AArch64::LD1i64:
247
254
case AArch64::LD2i8:
248
255
case AArch64::LD2i16:
249
256
case AArch64::LD2i32:
250
- case AArch64::LD2i64:
251
257
case AArch64::LD3i8:
252
258
case AArch64::LD3i16:
253
259
case AArch64::LD3i32:
260
+ case AArch64::LD3i64:
254
261
case AArch64::LD4i8:
255
262
case AArch64::LD4i16:
256
263
case AArch64::LD4i32:
257
- DestRegIdx = 0 ;
258
- BaseRegIdx = 3 ;
259
- OffsetIdx = -1 ;
260
- IsPrePost = false ;
261
- break ;
262
-
263
- case AArch64::LD3i64:
264
264
case AArch64::LD4i64:
265
265
DestRegIdx = -1 ;
266
266
BaseRegIdx = 3 ;
@@ -284,23 +284,16 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
284
284
case AArch64::LD1Rv4s:
285
285
case AArch64::LD1Rv8h:
286
286
case AArch64::LD1Rv16b:
287
- case AArch64::LD1Twov1d:
288
- case AArch64::LD1Twov2s:
289
- case AArch64::LD1Twov4h:
290
- case AArch64::LD1Twov8b:
291
- case AArch64::LD2Twov2s:
292
- case AArch64::LD2Twov4s:
293
- case AArch64::LD2Twov8b:
294
- case AArch64::LD2Rv1d:
295
- case AArch64::LD2Rv2s:
296
- case AArch64::LD2Rv4s:
297
- case AArch64::LD2Rv8b:
298
287
DestRegIdx = 0 ;
299
288
BaseRegIdx = 1 ;
300
289
OffsetIdx = -1 ;
301
290
IsPrePost = false ;
302
291
break ;
303
292
293
+ case AArch64::LD1Twov1d:
294
+ case AArch64::LD1Twov2s:
295
+ case AArch64::LD1Twov4h:
296
+ case AArch64::LD1Twov8b:
304
297
case AArch64::LD1Twov2d:
305
298
case AArch64::LD1Twov4s:
306
299
case AArch64::LD1Twov8h:
@@ -321,10 +314,17 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
321
314
case AArch64::LD1Fourv4s:
322
315
case AArch64::LD1Fourv8h:
323
316
case AArch64::LD1Fourv16b:
317
+ case AArch64::LD2Twov2s:
318
+ case AArch64::LD2Twov4s:
319
+ case AArch64::LD2Twov8b:
324
320
case AArch64::LD2Twov2d:
325
321
case AArch64::LD2Twov4h:
326
322
case AArch64::LD2Twov8h:
327
323
case AArch64::LD2Twov16b:
324
+ case AArch64::LD2Rv1d:
325
+ case AArch64::LD2Rv2s:
326
+ case AArch64::LD2Rv4s:
327
+ case AArch64::LD2Rv8b:
328
328
case AArch64::LD2Rv2d:
329
329
case AArch64::LD2Rv4h:
330
330
case AArch64::LD2Rv8h:
@@ -365,32 +365,32 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
365
365
IsPrePost = false ;
366
366
break ;
367
367
368
+ case AArch64::LD1i64_POST:
369
+ case AArch64::LD2i64_POST:
370
+ DestRegIdx = 1 ;
371
+ BaseRegIdx = 4 ;
372
+ OffsetIdx = 5 ;
373
+ IsPrePost = true ;
374
+ break ;
375
+
368
376
case AArch64::LD1i8_POST:
369
377
case AArch64::LD1i16_POST:
370
378
case AArch64::LD1i32_POST:
371
- case AArch64::LD1i64_POST:
372
379
case AArch64::LD2i8_POST:
373
380
case AArch64::LD2i16_POST:
374
381
case AArch64::LD2i32_POST:
375
- case AArch64::LD2i64_POST:
376
382
case AArch64::LD3i8_POST:
377
383
case AArch64::LD3i16_POST:
378
384
case AArch64::LD3i32_POST:
385
+ case AArch64::LD3i64_POST:
379
386
case AArch64::LD4i8_POST:
380
387
case AArch64::LD4i16_POST:
381
388
case AArch64::LD4i32_POST:
382
- DestRegIdx = 1 ;
383
- BaseRegIdx = 4 ;
384
- OffsetIdx = 5 ;
385
- IsPrePost = false ;
386
- break ;
387
-
388
- case AArch64::LD3i64_POST:
389
389
case AArch64::LD4i64_POST:
390
390
DestRegIdx = -1 ;
391
391
BaseRegIdx = 4 ;
392
392
OffsetIdx = 5 ;
393
- IsPrePost = false ;
393
+ IsPrePost = true ;
394
394
break ;
395
395
396
396
case AArch64::LD1Onev1d_POST:
@@ -409,23 +409,16 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
409
409
case AArch64::LD1Rv4s_POST:
410
410
case AArch64::LD1Rv8h_POST:
411
411
case AArch64::LD1Rv16b_POST:
412
- case AArch64::LD1Twov1d_POST:
413
- case AArch64::LD1Twov2s_POST:
414
- case AArch64::LD1Twov4h_POST:
415
- case AArch64::LD1Twov8b_POST:
416
- case AArch64::LD2Twov2s_POST:
417
- case AArch64::LD2Twov4s_POST:
418
- case AArch64::LD2Twov8b_POST:
419
- case AArch64::LD2Rv1d_POST:
420
- case AArch64::LD2Rv2s_POST:
421
- case AArch64::LD2Rv4s_POST:
422
- case AArch64::LD2Rv8b_POST:
423
412
DestRegIdx = 1 ;
424
413
BaseRegIdx = 2 ;
425
414
OffsetIdx = 3 ;
426
- IsPrePost = false ;
415
+ IsPrePost = true ;
427
416
break ;
428
417
418
+ case AArch64::LD1Twov1d_POST:
419
+ case AArch64::LD1Twov2s_POST:
420
+ case AArch64::LD1Twov4h_POST:
421
+ case AArch64::LD1Twov8b_POST:
429
422
case AArch64::LD1Twov2d_POST:
430
423
case AArch64::LD1Twov4s_POST:
431
424
case AArch64::LD1Twov8h_POST:
@@ -446,10 +439,17 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
446
439
case AArch64::LD1Fourv4s_POST:
447
440
case AArch64::LD1Fourv8h_POST:
448
441
case AArch64::LD1Fourv16b_POST:
442
+ case AArch64::LD2Twov2s_POST:
443
+ case AArch64::LD2Twov4s_POST:
444
+ case AArch64::LD2Twov8b_POST:
449
445
case AArch64::LD2Twov2d_POST:
450
446
case AArch64::LD2Twov4h_POST:
451
447
case AArch64::LD2Twov8h_POST:
452
448
case AArch64::LD2Twov16b_POST:
449
+ case AArch64::LD2Rv1d_POST:
450
+ case AArch64::LD2Rv2s_POST:
451
+ case AArch64::LD2Rv4s_POST:
452
+ case AArch64::LD2Rv8b_POST:
453
453
case AArch64::LD2Rv2d_POST:
454
454
case AArch64::LD2Rv4h_POST:
455
455
case AArch64::LD2Rv8h_POST:
@@ -487,7 +487,7 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
487
487
DestRegIdx = -1 ;
488
488
BaseRegIdx = 2 ;
489
489
OffsetIdx = 3 ;
490
- IsPrePost = false ;
490
+ IsPrePost = true ;
491
491
break ;
492
492
493
493
case AArch64::LDRBBroW:
@@ -592,16 +592,19 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
592
592
IsPrePost = true ;
593
593
break ;
594
594
595
+ case AArch64::LDNPDi:
596
+ case AArch64::LDNPQi:
597
+ case AArch64::LDNPSi:
595
598
case AArch64::LDPQi:
599
+ case AArch64::LDPDi:
600
+ case AArch64::LDPSi:
596
601
DestRegIdx = -1 ;
597
602
BaseRegIdx = 2 ;
598
603
OffsetIdx = 3 ;
599
604
IsPrePost = false ;
600
605
break ;
601
606
602
- case AArch64::LDPDi:
603
607
case AArch64::LDPSWi:
604
- case AArch64::LDPSi:
605
608
case AArch64::LDPWi:
606
609
case AArch64::LDPXi:
607
610
DestRegIdx = 0 ;
@@ -612,18 +615,18 @@ static Optional<LoadInfo> getLoadInfo(const MachineInstr &MI) {
612
615
613
616
case AArch64::LDPQpost:
614
617
case AArch64::LDPQpre:
618
+ case AArch64::LDPDpost:
619
+ case AArch64::LDPDpre:
620
+ case AArch64::LDPSpost:
621
+ case AArch64::LDPSpre:
615
622
DestRegIdx = -1 ;
616
623
BaseRegIdx = 3 ;
617
624
OffsetIdx = 4 ;
618
625
IsPrePost = true ;
619
626
break ;
620
627
621
- case AArch64::LDPDpost:
622
- case AArch64::LDPDpre:
623
628
case AArch64::LDPSWpost:
624
629
case AArch64::LDPSWpre:
625
- case AArch64::LDPSpost:
626
- case AArch64::LDPSpre:
627
630
case AArch64::LDPWpost:
628
631
case AArch64::LDPWpre:
629
632
case AArch64::LDPXpost:
0 commit comments