-#define NS_FORMATS \
- ENTRY(NS_FORMAT_NONE, 0) \
- ENTRY(NS_FORMAT_VLDSTLane, 1) \
- ENTRY(NS_FORMAT_VLDSTLaneDbl, 2) \
- ENTRY(NS_FORMAT_VLDSTRQ, 3) \
- ENTRY(NS_FORMAT_NVdImm, 4) \
- ENTRY(NS_FORMAT_NVdVmImm, 5) \
- ENTRY(NS_FORMAT_NVdVmImmVCVT, 6) \
- ENTRY(NS_FORMAT_NVdVmImmVDupLane, 7) \
- ENTRY(NS_FORMAT_NVdVmImmVSHLL, 8) \
- ENTRY(NS_FORMAT_NVectorShuffle, 9) \
- ENTRY(NS_FORMAT_NVectorShift, 10) \
- ENTRY(NS_FORMAT_NVectorShift2, 11) \
- ENTRY(NS_FORMAT_NVdVnVmImm, 12) \
- ENTRY(NS_FORMAT_NVdVnVmImmVectorShift, 13) \
- ENTRY(NS_FORMAT_NVdVnVmImmVectorExtract, 14) \
- ENTRY(NS_FORMAT_NVdVnVmImmMulScalar, 15) \
- ENTRY(NS_FORMAT_VTBL, 16)
-
-// NEON instruction sub-format further classify the NEONFrm instruction.
-#define ENTRY(n, v) n = v,
-typedef enum {
- NS_FORMATS
- NS_FORMAT_NA
-} NSFormat;
-#undef ENTRY
-
-// Converts enum to const char*.
-static const inline char *stringForNSFormat(NSFormat form) {
-#define ENTRY(n, v) case n: return #n;
- switch(form) {
- NS_FORMATS
- case NS_FORMAT_NA:
- return "NA";
- default:
- return "";
- }
-#undef ENTRY
-}
-