@@ -470,6 +470,12 @@ def FeatureNSAEncoding : SubtargetFeature<"nsa-encoding",
470
470
"Support NSA encoding for image instructions"
471
471
>;
472
472
473
+ def FeatureImageInsts : SubtargetFeature<"image-insts",
474
+ "HasImageInsts",
475
+ "true",
476
+ "Support image instructions"
477
+ >;
478
+
473
479
def FeatureExtendedImageInsts : SubtargetFeature<"extended-image-insts",
474
480
"HasExtendedImageInsts",
475
481
"true",
@@ -774,7 +780,7 @@ def FeatureSouthernIslands : GCNSubtargetFeatureGeneration<"SOUTHERN_ISLANDS",
774
780
[FeatureFP64, FeatureLocalMemorySize32768, FeatureMIMG_R128,
775
781
FeatureWavefrontSize64, FeatureSMemTimeInst, FeatureMadMacF32Insts,
776
782
FeatureDsSrc2Insts, FeatureLDSBankCount32, FeatureMovrel,
777
- FeatureTrigReducedRange, FeatureExtendedImageInsts
783
+ FeatureTrigReducedRange, FeatureExtendedImageInsts, FeatureImageInsts
778
784
]
779
785
>;
780
786
@@ -784,7 +790,8 @@ def FeatureSeaIslands : GCNSubtargetFeatureGeneration<"SEA_ISLANDS",
784
790
FeatureWavefrontSize64, FeatureFlatAddressSpace,
785
791
FeatureCIInsts, FeatureMovrel, FeatureTrigReducedRange,
786
792
FeatureGFX7GFX8GFX9Insts, FeatureSMemTimeInst, FeatureMadMacF32Insts,
787
- FeatureDsSrc2Insts, FeatureExtendedImageInsts, FeatureUnalignedBufferAccess
793
+ FeatureDsSrc2Insts, FeatureExtendedImageInsts, FeatureUnalignedBufferAccess,
794
+ FeatureImageInsts
788
795
]
789
796
>;
790
797
@@ -799,7 +806,7 @@ def FeatureVolcanicIslands : GCNSubtargetFeatureGeneration<"VOLCANIC_ISLANDS",
799
806
FeatureIntClamp, FeatureTrigReducedRange, FeatureGFX8Insts,
800
807
FeatureGFX7GFX8GFX9Insts, FeatureSMemTimeInst, FeatureMadMacF32Insts,
801
808
FeatureDsSrc2Insts, FeatureExtendedImageInsts, FeatureFastDenormalF32,
802
- FeatureUnalignedBufferAccess
809
+ FeatureUnalignedBufferAccess, FeatureImageInsts
803
810
]
804
811
>;
805
812
@@ -836,7 +843,7 @@ def FeatureGFX10 : GCNSubtargetFeatureGeneration<"GFX10",
836
843
FeatureVOP3Literal, FeatureDPP8, FeatureExtendedImageInsts,
837
844
FeatureNoDataDepHazard, FeaturePkFmacF16Inst,
838
845
FeatureGFX10A16, FeatureSMemTimeInst, FeatureFastDenormalF32, FeatureG16,
839
- FeatureUnalignedBufferAccess, FeatureUnalignedDSAccess
846
+ FeatureUnalignedBufferAccess, FeatureUnalignedDSAccess, FeatureImageInsts
840
847
]
841
848
>;
842
849
@@ -922,6 +929,7 @@ def FeatureISAVersion9_0_0 : FeatureSet<
922
929
FeatureLDSBankCount32,
923
930
FeatureDsSrc2Insts,
924
931
FeatureExtendedImageInsts,
932
+ FeatureImageInsts,
925
933
FeatureMadMacF32Insts,
926
934
FeatureImageGather4D16Bug]>;
927
935
@@ -931,6 +939,7 @@ def FeatureISAVersion9_0_2 : FeatureSet<
931
939
FeatureLDSBankCount32,
932
940
FeatureDsSrc2Insts,
933
941
FeatureExtendedImageInsts,
942
+ FeatureImageInsts,
934
943
FeatureMadMacF32Insts,
935
944
FeatureImageGather4D16Bug]>;
936
945
@@ -939,6 +948,7 @@ def FeatureISAVersion9_0_4 : FeatureSet<
939
948
FeatureLDSBankCount32,
940
949
FeatureDsSrc2Insts,
941
950
FeatureExtendedImageInsts,
951
+ FeatureImageInsts,
942
952
FeatureMadMacF32Insts,
943
953
FeatureFmaMixInsts,
944
954
FeatureImageGather4D16Bug]>;
@@ -950,6 +960,7 @@ def FeatureISAVersion9_0_6 : FeatureSet<
950
960
FeatureLDSBankCount32,
951
961
FeatureDsSrc2Insts,
952
962
FeatureExtendedImageInsts,
963
+ FeatureImageInsts,
953
964
FeatureMadMacF32Insts,
954
965
FeatureDLInsts,
955
966
FeatureDot1Insts,
@@ -965,6 +976,7 @@ def FeatureISAVersion9_0_8 : FeatureSet<
965
976
FeatureLDSBankCount32,
966
977
FeatureDsSrc2Insts,
967
978
FeatureExtendedImageInsts,
979
+ FeatureImageInsts,
968
980
FeatureMadMacF32Insts,
969
981
FeatureDLInsts,
970
982
FeatureDot1Insts,
@@ -987,6 +999,7 @@ def FeatureISAVersion9_0_9 : FeatureSet<
987
999
FeatureLDSBankCount32,
988
1000
FeatureDsSrc2Insts,
989
1001
FeatureExtendedImageInsts,
1002
+ FeatureImageInsts,
990
1003
FeatureMadMacF32Insts,
991
1004
FeatureImageGather4D16Bug]>;
992
1005
@@ -1008,6 +1021,7 @@ def FeatureISAVersion9_0_A : FeatureSet<
1008
1021
FeatureMAIInsts,
1009
1022
FeaturePkFmacF16Inst,
1010
1023
FeatureAtomicFaddInsts,
1024
+ FeatureImageInsts,
1011
1025
FeatureMadMacF32Insts,
1012
1026
FeatureSupportsSRAMECC,
1013
1027
FeaturePackedTID,
@@ -1019,6 +1033,7 @@ def FeatureISAVersion9_0_C : FeatureSet<
1019
1033
FeatureLDSBankCount32,
1020
1034
FeatureDsSrc2Insts,
1021
1035
FeatureExtendedImageInsts,
1036
+ FeatureImageInsts,
1022
1037
FeatureMadMacF32Insts,
1023
1038
FeatureImageGather4D16Bug]>;
1024
1039
@@ -1433,6 +1448,9 @@ def HasFmaakFmamkF32Insts :
1433
1448
Predicate<"Subtarget->hasFmaakFmamkF32Insts()">,
1434
1449
AssemblerPredicate<(any_of FeatureGFX10Insts)>;
1435
1450
1451
+ def HasImageInsts : Predicate<"Subtarget->hasImageInsts()">,
1452
+ AssemblerPredicate<(all_of FeatureImageInsts)>;
1453
+
1436
1454
def HasExtendedImageInsts : Predicate<"Subtarget->hasExtendedImageInsts()">,
1437
1455
AssemblerPredicate<(all_of FeatureExtendedImageInsts)>;
1438
1456
0 commit comments