@@ -2263,32 +2263,35 @@ unsigned AArch64InstrInfo::getLoadStoreImmIdx(unsigned Opc) {
2263
2263
case AArch64::STNPSi:
2264
2264
case AArch64::LDG:
2265
2265
case AArch64::STGPi:
2266
+
2266
2267
case AArch64::LD1B_IMM:
2267
- case AArch64::LD1H_IMM:
2268
- case AArch64::LD1W_IMM:
2269
- case AArch64::LD1D_IMM:
2270
- case AArch64::ST1B_IMM:
2271
- case AArch64::ST1H_IMM:
2272
- case AArch64::ST1W_IMM:
2273
- case AArch64::ST1D_IMM:
2274
2268
case AArch64::LD1B_H_IMM:
2269
+ case AArch64::LD1B_S_IMM:
2270
+ case AArch64::LD1B_D_IMM:
2275
2271
case AArch64::LD1SB_H_IMM:
2272
+ case AArch64::LD1SB_S_IMM:
2273
+ case AArch64::LD1SB_D_IMM:
2274
+ case AArch64::LD1H_IMM:
2276
2275
case AArch64::LD1H_S_IMM:
2276
+ case AArch64::LD1H_D_IMM:
2277
2277
case AArch64::LD1SH_S_IMM:
2278
+ case AArch64::LD1SH_D_IMM:
2279
+ case AArch64::LD1W_IMM:
2278
2280
case AArch64::LD1W_D_IMM:
2279
2281
case AArch64::LD1SW_D_IMM:
2282
+ case AArch64::LD1D_IMM:
2283
+
2284
+ case AArch64::ST1B_IMM:
2280
2285
case AArch64::ST1B_H_IMM:
2281
- case AArch64::ST1H_S_IMM:
2282
- case AArch64::ST1W_D_IMM:
2283
- case AArch64::LD1B_S_IMM:
2284
- case AArch64::LD1SB_S_IMM:
2285
- case AArch64::LD1H_D_IMM:
2286
- case AArch64::LD1SH_D_IMM:
2287
2286
case AArch64::ST1B_S_IMM:
2288
- case AArch64::ST1H_D_IMM:
2289
- case AArch64::LD1B_D_IMM:
2290
- case AArch64::LD1SB_D_IMM:
2291
2287
case AArch64::ST1B_D_IMM:
2288
+ case AArch64::ST1H_IMM:
2289
+ case AArch64::ST1H_S_IMM:
2290
+ case AArch64::ST1H_D_IMM:
2291
+ case AArch64::ST1W_IMM:
2292
+ case AArch64::ST1W_D_IMM:
2293
+ case AArch64::ST1D_IMM:
2294
+
2292
2295
case AArch64::LD1RB_IMM:
2293
2296
case AArch64::LD1RB_H_IMM:
2294
2297
case AArch64::LD1RB_S_IMM:
@@ -2305,6 +2308,32 @@ unsigned AArch64InstrInfo::getLoadStoreImmIdx(unsigned Opc) {
2305
2308
case AArch64::LD1RW_D_IMM:
2306
2309
case AArch64::LD1RSW_IMM:
2307
2310
case AArch64::LD1RD_IMM:
2311
+
2312
+ case AArch64::LDNT1B_ZRI:
2313
+ case AArch64::LDNT1H_ZRI:
2314
+ case AArch64::LDNT1W_ZRI:
2315
+ case AArch64::LDNT1D_ZRI:
2316
+ case AArch64::STNT1B_ZRI:
2317
+ case AArch64::STNT1H_ZRI:
2318
+ case AArch64::STNT1W_ZRI:
2319
+ case AArch64::STNT1D_ZRI:
2320
+
2321
+ case AArch64::LDNF1B_IMM:
2322
+ case AArch64::LDNF1B_H_IMM:
2323
+ case AArch64::LDNF1B_S_IMM:
2324
+ case AArch64::LDNF1B_D_IMM:
2325
+ case AArch64::LDNF1SB_H_IMM:
2326
+ case AArch64::LDNF1SB_S_IMM:
2327
+ case AArch64::LDNF1SB_D_IMM:
2328
+ case AArch64::LDNF1H_IMM:
2329
+ case AArch64::LDNF1H_S_IMM:
2330
+ case AArch64::LDNF1H_D_IMM:
2331
+ case AArch64::LDNF1SH_S_IMM:
2332
+ case AArch64::LDNF1SH_D_IMM:
2333
+ case AArch64::LDNF1W_IMM:
2334
+ case AArch64::LDNF1W_D_IMM:
2335
+ case AArch64::LDNF1SW_D_IMM:
2336
+ case AArch64::LDNF1D_IMM:
2308
2337
return 3 ;
2309
2338
case AArch64::ADDG:
2310
2339
case AArch64::STGOffset:
@@ -2855,10 +2884,22 @@ bool AArch64InstrInfo::getMemOpInfo(unsigned Opcode, TypeSize &Scale,
2855
2884
case AArch64::LD1H_IMM:
2856
2885
case AArch64::LD1W_IMM:
2857
2886
case AArch64::LD1D_IMM:
2887
+ case AArch64::LDNT1B_ZRI:
2888
+ case AArch64::LDNT1H_ZRI:
2889
+ case AArch64::LDNT1W_ZRI:
2890
+ case AArch64::LDNT1D_ZRI:
2858
2891
case AArch64::ST1B_IMM:
2859
2892
case AArch64::ST1H_IMM:
2860
2893
case AArch64::ST1W_IMM:
2861
2894
case AArch64::ST1D_IMM:
2895
+ case AArch64::STNT1B_ZRI:
2896
+ case AArch64::STNT1H_ZRI:
2897
+ case AArch64::STNT1W_ZRI:
2898
+ case AArch64::STNT1D_ZRI:
2899
+ case AArch64::LDNF1B_IMM:
2900
+ case AArch64::LDNF1H_IMM:
2901
+ case AArch64::LDNF1W_IMM:
2902
+ case AArch64::LDNF1D_IMM:
2862
2903
// A full vectors worth of data
2863
2904
// Width = mbytes * elements
2864
2905
Scale = TypeSize::Scalable (16 );
@@ -2875,6 +2916,12 @@ bool AArch64InstrInfo::getMemOpInfo(unsigned Opcode, TypeSize &Scale,
2875
2916
case AArch64::ST1B_H_IMM:
2876
2917
case AArch64::ST1H_S_IMM:
2877
2918
case AArch64::ST1W_D_IMM:
2919
+ case AArch64::LDNF1B_H_IMM:
2920
+ case AArch64::LDNF1SB_H_IMM:
2921
+ case AArch64::LDNF1H_S_IMM:
2922
+ case AArch64::LDNF1SH_S_IMM:
2923
+ case AArch64::LDNF1W_D_IMM:
2924
+ case AArch64::LDNF1SW_D_IMM:
2878
2925
// A half vector worth of data
2879
2926
// Width = mbytes * elements
2880
2927
Scale = TypeSize::Scalable (8 );
@@ -2888,6 +2935,10 @@ bool AArch64InstrInfo::getMemOpInfo(unsigned Opcode, TypeSize &Scale,
2888
2935
case AArch64::LD1SH_D_IMM:
2889
2936
case AArch64::ST1B_S_IMM:
2890
2937
case AArch64::ST1H_D_IMM:
2938
+ case AArch64::LDNF1B_S_IMM:
2939
+ case AArch64::LDNF1SB_S_IMM:
2940
+ case AArch64::LDNF1H_D_IMM:
2941
+ case AArch64::LDNF1SH_D_IMM:
2891
2942
// A quarter vector worth of data
2892
2943
// Width = mbytes * elements
2893
2944
Scale = TypeSize::Scalable (4 );
@@ -2898,6 +2949,8 @@ bool AArch64InstrInfo::getMemOpInfo(unsigned Opcode, TypeSize &Scale,
2898
2949
case AArch64::LD1B_D_IMM:
2899
2950
case AArch64::LD1SB_D_IMM:
2900
2951
case AArch64::ST1B_D_IMM:
2952
+ case AArch64::LDNF1B_D_IMM:
2953
+ case AArch64::LDNF1SB_D_IMM:
2901
2954
// A eighth vector worth of data
2902
2955
// Width = mbytes * elements
2903
2956
Scale = TypeSize::Scalable (2 );
0 commit comments