10b57cec5SDimitry Andric//===-- SystemZ.td - SystemZ processors and features ---------*- tblgen -*-===// 20b57cec5SDimitry Andric// 30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric// 70b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric// 90b57cec5SDimitry Andric// Feature definitions. 100b57cec5SDimitry Andric// 110b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 120b57cec5SDimitry Andric 135ffd83dbSDimitry Andricclass SystemZFeature<string extname, string intname, dag featdag, string desc> 145ffd83dbSDimitry Andric : Predicate<"Subtarget->has"#intname#"()">, 155ffd83dbSDimitry Andric AssemblerPredicate<featdag, extname>, 165ffd83dbSDimitry Andric SubtargetFeature<extname, "Has"#intname, "true", desc>; 170b57cec5SDimitry Andric 180b57cec5SDimitry Andricclass SystemZMissingFeature<string intname> 195ffd83dbSDimitry Andric : Predicate<"!Subtarget->has"#intname#"()">; 200b57cec5SDimitry Andric 210b57cec5SDimitry Andricclass SystemZFeatureList<list<SystemZFeature> x> { 220b57cec5SDimitry Andric list<SystemZFeature> List = x; 230b57cec5SDimitry Andric} 240b57cec5SDimitry Andric 250b57cec5SDimitry Andricclass SystemZFeatureAdd<list<SystemZFeature> x, list<SystemZFeature> y> 260b57cec5SDimitry Andric : SystemZFeatureList<!listconcat(x, y)>; 270b57cec5SDimitry Andric 285ffd83dbSDimitry Andric// This feature is added as a subtarget feature whenever the function is 295ffd83dbSDimitry Andric// compiled to use soft-float. 305ffd83dbSDimitry Andricdef FeatureSoftFloat : SystemZFeature< 315ffd83dbSDimitry Andric "soft-float", "SoftFloat", (all_of FeatureSoftFloat), 325ffd83dbSDimitry Andric "Use software emulation for floating point" 335ffd83dbSDimitry Andric>; 345ffd83dbSDimitry Andric 35*5f757f3fSDimitry Andricdef FeatureBackChain : SystemZFeature< 36*5f757f3fSDimitry Andric "backchain", "BackChain", (all_of FeatureBackChain), 37*5f757f3fSDimitry Andric "Store the address of the caller's frame into the callee's stack frame" 38*5f757f3fSDimitry Andric>; 39*5f757f3fSDimitry Andric 400b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 410b57cec5SDimitry Andric// 420b57cec5SDimitry Andric// New features added in the Ninth Edition of the z/Architecture 430b57cec5SDimitry Andric// 440b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 450b57cec5SDimitry Andric 460b57cec5SDimitry Andricdef FeatureDistinctOps : SystemZFeature< 475ffd83dbSDimitry Andric "distinct-ops", "DistinctOps", (all_of FeatureDistinctOps), 480b57cec5SDimitry Andric "Assume that the distinct-operands facility is installed" 490b57cec5SDimitry Andric>; 500b57cec5SDimitry Andric 510b57cec5SDimitry Andricdef FeatureFastSerialization : SystemZFeature< 525ffd83dbSDimitry Andric "fast-serialization", "FastSerialization", (all_of FeatureFastSerialization), 530b57cec5SDimitry Andric "Assume that the fast-serialization facility is installed" 540b57cec5SDimitry Andric>; 550b57cec5SDimitry Andric 560b57cec5SDimitry Andricdef FeatureFPExtension : SystemZFeature< 575ffd83dbSDimitry Andric "fp-extension", "FPExtension", (all_of FeatureFPExtension), 580b57cec5SDimitry Andric "Assume that the floating-point extension facility is installed" 590b57cec5SDimitry Andric>; 600b57cec5SDimitry Andric 610b57cec5SDimitry Andricdef FeatureHighWord : SystemZFeature< 625ffd83dbSDimitry Andric "high-word", "HighWord", (all_of FeatureHighWord), 630b57cec5SDimitry Andric "Assume that the high-word facility is installed" 640b57cec5SDimitry Andric>; 650b57cec5SDimitry Andric 660b57cec5SDimitry Andricdef FeatureInterlockedAccess1 : SystemZFeature< 675ffd83dbSDimitry Andric "interlocked-access1", "InterlockedAccess1", (all_of FeatureInterlockedAccess1), 680b57cec5SDimitry Andric "Assume that interlocked-access facility 1 is installed" 690b57cec5SDimitry Andric>; 700b57cec5SDimitry Andricdef FeatureNoInterlockedAccess1 : SystemZMissingFeature<"InterlockedAccess1">; 710b57cec5SDimitry Andric 720b57cec5SDimitry Andricdef FeatureLoadStoreOnCond : SystemZFeature< 735ffd83dbSDimitry Andric "load-store-on-cond", "LoadStoreOnCond", (all_of FeatureLoadStoreOnCond), 740b57cec5SDimitry Andric "Assume that the load/store-on-condition facility is installed" 750b57cec5SDimitry Andric>; 760b57cec5SDimitry Andricdef FeatureNoLoadStoreOnCond : SystemZMissingFeature<"LoadStoreOnCond">; 770b57cec5SDimitry Andric 780b57cec5SDimitry Andricdef FeaturePopulationCount : SystemZFeature< 795ffd83dbSDimitry Andric "population-count", "PopulationCount", (all_of FeaturePopulationCount), 800b57cec5SDimitry Andric "Assume that the population-count facility is installed" 810b57cec5SDimitry Andric>; 820b57cec5SDimitry Andric 830b57cec5SDimitry Andricdef FeatureMessageSecurityAssist3 : SystemZFeature< 845ffd83dbSDimitry Andric "message-security-assist-extension3", "MessageSecurityAssist3", (all_of FeatureMessageSecurityAssist3), 850b57cec5SDimitry Andric "Assume that the message-security-assist extension facility 3 is installed" 860b57cec5SDimitry Andric>; 870b57cec5SDimitry Andric 880b57cec5SDimitry Andricdef FeatureMessageSecurityAssist4 : SystemZFeature< 895ffd83dbSDimitry Andric "message-security-assist-extension4", "MessageSecurityAssist4", (all_of FeatureMessageSecurityAssist4), 900b57cec5SDimitry Andric "Assume that the message-security-assist extension facility 4 is installed" 910b57cec5SDimitry Andric>; 920b57cec5SDimitry Andric 930b57cec5SDimitry Andricdef FeatureResetReferenceBitsMultiple : SystemZFeature< 945ffd83dbSDimitry Andric "reset-reference-bits-multiple", "ResetReferenceBitsMultiple", (all_of FeatureResetReferenceBitsMultiple), 950b57cec5SDimitry Andric "Assume that the reset-reference-bits-multiple facility is installed" 960b57cec5SDimitry Andric>; 970b57cec5SDimitry Andric 980b57cec5SDimitry Andricdef Arch9NewFeatures : SystemZFeatureList<[ 990b57cec5SDimitry Andric FeatureDistinctOps, 1000b57cec5SDimitry Andric FeatureFastSerialization, 1010b57cec5SDimitry Andric FeatureFPExtension, 1020b57cec5SDimitry Andric FeatureHighWord, 1030b57cec5SDimitry Andric FeatureInterlockedAccess1, 1040b57cec5SDimitry Andric FeatureLoadStoreOnCond, 1050b57cec5SDimitry Andric FeaturePopulationCount, 1060b57cec5SDimitry Andric FeatureMessageSecurityAssist3, 1070b57cec5SDimitry Andric FeatureMessageSecurityAssist4, 1080b57cec5SDimitry Andric FeatureResetReferenceBitsMultiple 1090b57cec5SDimitry Andric]>; 1100b57cec5SDimitry Andric 1110b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 1120b57cec5SDimitry Andric// 1130b57cec5SDimitry Andric// New features added in the Tenth Edition of the z/Architecture 1140b57cec5SDimitry Andric// 1150b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 1160b57cec5SDimitry Andric 1170b57cec5SDimitry Andricdef FeatureExecutionHint : SystemZFeature< 1185ffd83dbSDimitry Andric "execution-hint", "ExecutionHint", (all_of FeatureExecutionHint), 1190b57cec5SDimitry Andric "Assume that the execution-hint facility is installed" 1200b57cec5SDimitry Andric>; 1210b57cec5SDimitry Andric 1220b57cec5SDimitry Andricdef FeatureLoadAndTrap : SystemZFeature< 1235ffd83dbSDimitry Andric "load-and-trap", "LoadAndTrap", (all_of FeatureLoadAndTrap), 1240b57cec5SDimitry Andric "Assume that the load-and-trap facility is installed" 1250b57cec5SDimitry Andric>; 1260b57cec5SDimitry Andric 1270b57cec5SDimitry Andricdef FeatureMiscellaneousExtensions : SystemZFeature< 1285ffd83dbSDimitry Andric "miscellaneous-extensions", "MiscellaneousExtensions", (all_of FeatureMiscellaneousExtensions), 1290b57cec5SDimitry Andric "Assume that the miscellaneous-extensions facility is installed" 1300b57cec5SDimitry Andric>; 1310b57cec5SDimitry Andric 1320b57cec5SDimitry Andricdef FeatureProcessorAssist : SystemZFeature< 1335ffd83dbSDimitry Andric "processor-assist", "ProcessorAssist", (all_of FeatureProcessorAssist), 1340b57cec5SDimitry Andric "Assume that the processor-assist facility is installed" 1350b57cec5SDimitry Andric>; 1360b57cec5SDimitry Andric 1370b57cec5SDimitry Andricdef FeatureTransactionalExecution : SystemZFeature< 1385ffd83dbSDimitry Andric "transactional-execution", "TransactionalExecution", (all_of FeatureTransactionalExecution), 1390b57cec5SDimitry Andric "Assume that the transactional-execution facility is installed" 1400b57cec5SDimitry Andric>; 1410b57cec5SDimitry Andric 1420b57cec5SDimitry Andricdef FeatureDFPZonedConversion : SystemZFeature< 1435ffd83dbSDimitry Andric "dfp-zoned-conversion", "DFPZonedConversion", (all_of FeatureDFPZonedConversion), 1440b57cec5SDimitry Andric "Assume that the DFP zoned-conversion facility is installed" 1450b57cec5SDimitry Andric>; 1460b57cec5SDimitry Andric 1470b57cec5SDimitry Andricdef FeatureEnhancedDAT2 : SystemZFeature< 1485ffd83dbSDimitry Andric "enhanced-dat-2", "EnhancedDAT2", (all_of FeatureEnhancedDAT2), 1490b57cec5SDimitry Andric "Assume that the enhanced-DAT facility 2 is installed" 1500b57cec5SDimitry Andric>; 1510b57cec5SDimitry Andric 1520b57cec5SDimitry Andricdef Arch10NewFeatures : SystemZFeatureList<[ 1530b57cec5SDimitry Andric FeatureExecutionHint, 1540b57cec5SDimitry Andric FeatureLoadAndTrap, 1550b57cec5SDimitry Andric FeatureMiscellaneousExtensions, 1560b57cec5SDimitry Andric FeatureProcessorAssist, 1570b57cec5SDimitry Andric FeatureTransactionalExecution, 1580b57cec5SDimitry Andric FeatureDFPZonedConversion, 1590b57cec5SDimitry Andric FeatureEnhancedDAT2 1600b57cec5SDimitry Andric]>; 1610b57cec5SDimitry Andric 1620b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 1630b57cec5SDimitry Andric// 1640b57cec5SDimitry Andric// New features added in the Eleventh Edition of the z/Architecture 1650b57cec5SDimitry Andric// 1660b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 1670b57cec5SDimitry Andric 1680b57cec5SDimitry Andricdef FeatureLoadAndZeroRightmostByte : SystemZFeature< 1695ffd83dbSDimitry Andric "load-and-zero-rightmost-byte", "LoadAndZeroRightmostByte", (all_of FeatureLoadAndZeroRightmostByte), 1700b57cec5SDimitry Andric "Assume that the load-and-zero-rightmost-byte facility is installed" 1710b57cec5SDimitry Andric>; 1720b57cec5SDimitry Andric 1730b57cec5SDimitry Andricdef FeatureLoadStoreOnCond2 : SystemZFeature< 1745ffd83dbSDimitry Andric "load-store-on-cond-2", "LoadStoreOnCond2", (all_of FeatureLoadStoreOnCond2), 1750b57cec5SDimitry Andric "Assume that the load/store-on-condition facility 2 is installed" 1760b57cec5SDimitry Andric>; 1770b57cec5SDimitry Andric 1780b57cec5SDimitry Andricdef FeatureMessageSecurityAssist5 : SystemZFeature< 1795ffd83dbSDimitry Andric "message-security-assist-extension5", "MessageSecurityAssist5", (all_of FeatureMessageSecurityAssist5), 1800b57cec5SDimitry Andric "Assume that the message-security-assist extension facility 5 is installed" 1810b57cec5SDimitry Andric>; 1820b57cec5SDimitry Andric 1830b57cec5SDimitry Andricdef FeatureDFPPackedConversion : SystemZFeature< 1845ffd83dbSDimitry Andric "dfp-packed-conversion", "DFPPackedConversion", (all_of FeatureDFPPackedConversion), 1850b57cec5SDimitry Andric "Assume that the DFP packed-conversion facility is installed" 1860b57cec5SDimitry Andric>; 1870b57cec5SDimitry Andric 1880b57cec5SDimitry Andricdef FeatureVector : SystemZFeature< 1895ffd83dbSDimitry Andric "vector", "Vector", (all_of FeatureVector), 1900b57cec5SDimitry Andric "Assume that the vectory facility is installed" 1910b57cec5SDimitry Andric>; 1920b57cec5SDimitry Andricdef FeatureNoVector : SystemZMissingFeature<"Vector">; 1930b57cec5SDimitry Andric 1940b57cec5SDimitry Andricdef Arch11NewFeatures : SystemZFeatureList<[ 1950b57cec5SDimitry Andric FeatureLoadAndZeroRightmostByte, 1960b57cec5SDimitry Andric FeatureLoadStoreOnCond2, 1970b57cec5SDimitry Andric FeatureMessageSecurityAssist5, 1980b57cec5SDimitry Andric FeatureDFPPackedConversion, 1990b57cec5SDimitry Andric FeatureVector 2000b57cec5SDimitry Andric]>; 2010b57cec5SDimitry Andric 2020b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 2030b57cec5SDimitry Andric// 204e8d8bef9SDimitry Andric// New features added in the Twelfth Edition of the z/Architecture 2050b57cec5SDimitry Andric// 2060b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 2070b57cec5SDimitry Andric 2080b57cec5SDimitry Andricdef FeatureMiscellaneousExtensions2 : SystemZFeature< 2095ffd83dbSDimitry Andric "miscellaneous-extensions-2", "MiscellaneousExtensions2", (all_of FeatureMiscellaneousExtensions2), 2100b57cec5SDimitry Andric "Assume that the miscellaneous-extensions facility 2 is installed" 2110b57cec5SDimitry Andric>; 2120b57cec5SDimitry Andric 2130b57cec5SDimitry Andricdef FeatureGuardedStorage : SystemZFeature< 2145ffd83dbSDimitry Andric "guarded-storage", "GuardedStorage", (all_of FeatureGuardedStorage), 2150b57cec5SDimitry Andric "Assume that the guarded-storage facility is installed" 2160b57cec5SDimitry Andric>; 2170b57cec5SDimitry Andric 2180b57cec5SDimitry Andricdef FeatureMessageSecurityAssist7 : SystemZFeature< 2195ffd83dbSDimitry Andric "message-security-assist-extension7", "MessageSecurityAssist7", (all_of FeatureMessageSecurityAssist7), 2200b57cec5SDimitry Andric "Assume that the message-security-assist extension facility 7 is installed" 2210b57cec5SDimitry Andric>; 2220b57cec5SDimitry Andric 2230b57cec5SDimitry Andricdef FeatureMessageSecurityAssist8 : SystemZFeature< 2245ffd83dbSDimitry Andric "message-security-assist-extension8", "MessageSecurityAssist8", (all_of FeatureMessageSecurityAssist8), 2250b57cec5SDimitry Andric "Assume that the message-security-assist extension facility 8 is installed" 2260b57cec5SDimitry Andric>; 2270b57cec5SDimitry Andric 2280b57cec5SDimitry Andricdef FeatureVectorEnhancements1 : SystemZFeature< 2295ffd83dbSDimitry Andric "vector-enhancements-1", "VectorEnhancements1", (all_of FeatureVectorEnhancements1), 2300b57cec5SDimitry Andric "Assume that the vector enhancements facility 1 is installed" 2310b57cec5SDimitry Andric>; 2320b57cec5SDimitry Andricdef FeatureNoVectorEnhancements1 : SystemZMissingFeature<"VectorEnhancements1">; 2330b57cec5SDimitry Andric 2340b57cec5SDimitry Andricdef FeatureVectorPackedDecimal : SystemZFeature< 2355ffd83dbSDimitry Andric "vector-packed-decimal", "VectorPackedDecimal", (all_of FeatureVectorPackedDecimal), 2360b57cec5SDimitry Andric "Assume that the vector packed decimal facility is installed" 2370b57cec5SDimitry Andric>; 2380b57cec5SDimitry Andric 2390b57cec5SDimitry Andricdef FeatureInsertReferenceBitsMultiple : SystemZFeature< 2405ffd83dbSDimitry Andric "insert-reference-bits-multiple", "InsertReferenceBitsMultiple", (all_of FeatureInsertReferenceBitsMultiple), 2410b57cec5SDimitry Andric "Assume that the insert-reference-bits-multiple facility is installed" 2420b57cec5SDimitry Andric>; 2430b57cec5SDimitry Andric 2440b57cec5SDimitry Andricdef Arch12NewFeatures : SystemZFeatureList<[ 2450b57cec5SDimitry Andric FeatureMiscellaneousExtensions2, 2460b57cec5SDimitry Andric FeatureGuardedStorage, 2470b57cec5SDimitry Andric FeatureMessageSecurityAssist7, 2480b57cec5SDimitry Andric FeatureMessageSecurityAssist8, 2490b57cec5SDimitry Andric FeatureVectorEnhancements1, 2500b57cec5SDimitry Andric FeatureVectorPackedDecimal, 2510b57cec5SDimitry Andric FeatureInsertReferenceBitsMultiple 2520b57cec5SDimitry Andric]>; 2530b57cec5SDimitry Andric 2540b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 2550b57cec5SDimitry Andric// 2560b57cec5SDimitry Andric// New features added in the Thirteenth Edition of the z/Architecture 2570b57cec5SDimitry Andric// 2580b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 2590b57cec5SDimitry Andric 2600b57cec5SDimitry Andricdef FeatureMiscellaneousExtensions3 : SystemZFeature< 2615ffd83dbSDimitry Andric "miscellaneous-extensions-3", "MiscellaneousExtensions3", (all_of FeatureMiscellaneousExtensions3), 2620b57cec5SDimitry Andric "Assume that the miscellaneous-extensions facility 3 is installed" 2630b57cec5SDimitry Andric>; 2640b57cec5SDimitry Andric 2650b57cec5SDimitry Andricdef FeatureMessageSecurityAssist9 : SystemZFeature< 2665ffd83dbSDimitry Andric "message-security-assist-extension9", "MessageSecurityAssist9", (all_of FeatureMessageSecurityAssist9), 2670b57cec5SDimitry Andric "Assume that the message-security-assist extension facility 9 is installed" 2680b57cec5SDimitry Andric>; 2690b57cec5SDimitry Andric 2700b57cec5SDimitry Andricdef FeatureVectorEnhancements2 : SystemZFeature< 2715ffd83dbSDimitry Andric "vector-enhancements-2", "VectorEnhancements2", (all_of FeatureVectorEnhancements2), 2720b57cec5SDimitry Andric "Assume that the vector enhancements facility 2 is installed" 2730b57cec5SDimitry Andric>; 2740b57cec5SDimitry Andric 2750b57cec5SDimitry Andricdef FeatureVectorPackedDecimalEnhancement : SystemZFeature< 2765ffd83dbSDimitry Andric "vector-packed-decimal-enhancement", "VectorPackedDecimalEnhancement", (all_of FeatureVectorPackedDecimalEnhancement), 2770b57cec5SDimitry Andric "Assume that the vector packed decimal enhancement facility is installed" 2780b57cec5SDimitry Andric>; 2790b57cec5SDimitry Andric 2800b57cec5SDimitry Andricdef FeatureEnhancedSort : SystemZFeature< 2815ffd83dbSDimitry Andric "enhanced-sort", "EnhancedSort", (all_of FeatureEnhancedSort), 2820b57cec5SDimitry Andric "Assume that the enhanced-sort facility is installed" 2830b57cec5SDimitry Andric>; 2840b57cec5SDimitry Andric 2850b57cec5SDimitry Andricdef FeatureDeflateConversion : SystemZFeature< 2865ffd83dbSDimitry Andric "deflate-conversion", "DeflateConversion", (all_of FeatureDeflateConversion), 2870b57cec5SDimitry Andric "Assume that the deflate-conversion facility is installed" 2880b57cec5SDimitry Andric>; 2890b57cec5SDimitry Andric 2900b57cec5SDimitry Andricdef Arch13NewFeatures : SystemZFeatureList<[ 2910b57cec5SDimitry Andric FeatureMiscellaneousExtensions3, 2920b57cec5SDimitry Andric FeatureMessageSecurityAssist9, 2930b57cec5SDimitry Andric FeatureVectorEnhancements2, 2940b57cec5SDimitry Andric FeatureVectorPackedDecimalEnhancement, 2950b57cec5SDimitry Andric FeatureEnhancedSort, 2960b57cec5SDimitry Andric FeatureDeflateConversion 2970b57cec5SDimitry Andric]>; 2980b57cec5SDimitry Andric 2990b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 3000b57cec5SDimitry Andric// 301fe6060f1SDimitry Andric// New features added in the Fourteenth Edition of the z/Architecture 302fe6060f1SDimitry Andric// 303fe6060f1SDimitry Andric//===----------------------------------------------------------------------===// 304fe6060f1SDimitry Andric 305fe6060f1SDimitry Andricdef FeatureVectorPackedDecimalEnhancement2 : SystemZFeature< 306fe6060f1SDimitry Andric "vector-packed-decimal-enhancement-2", "VectorPackedDecimalEnhancement2", (all_of FeatureVectorPackedDecimalEnhancement2), 307fe6060f1SDimitry Andric "Assume that the vector packed decimal enhancement facility 2 is installed" 308fe6060f1SDimitry Andric>; 309fe6060f1SDimitry Andric 310fe6060f1SDimitry Andricdef FeatureNNPAssist : SystemZFeature< 311fe6060f1SDimitry Andric "nnp-assist", "NNPAssist", (all_of FeatureNNPAssist), 312fe6060f1SDimitry Andric "Assume that the NNP-assist facility is installed" 313fe6060f1SDimitry Andric>; 314fe6060f1SDimitry Andric 315fe6060f1SDimitry Andricdef FeatureBEAREnhancement : SystemZFeature< 316fe6060f1SDimitry Andric "bear-enhancement", "BEAREnhancement", (all_of FeatureBEAREnhancement), 317fe6060f1SDimitry Andric "Assume that the BEAR-enhancement facility is installed" 318fe6060f1SDimitry Andric>; 319fe6060f1SDimitry Andric 320fe6060f1SDimitry Andricdef FeatureResetDATProtection : SystemZFeature< 321fe6060f1SDimitry Andric "reset-dat-protection", "ResetDATProtection", (all_of FeatureResetDATProtection), 322fe6060f1SDimitry Andric "Assume that the reset-DAT-protection facility is installed" 323fe6060f1SDimitry Andric>; 324fe6060f1SDimitry Andric 325fe6060f1SDimitry Andricdef FeatureProcessorActivityInstrumentation : SystemZFeature< 326fe6060f1SDimitry Andric "processor-activity-instrumentation", "ProcessorActivityInstrumentation", (all_of FeatureProcessorActivityInstrumentation), 327fe6060f1SDimitry Andric "Assume that the processor-activity-instrumentation facility is installed" 328fe6060f1SDimitry Andric>; 329fe6060f1SDimitry Andric 330fe6060f1SDimitry Andricdef Arch14NewFeatures : SystemZFeatureList<[ 331fe6060f1SDimitry Andric FeatureVectorPackedDecimalEnhancement2, 332fe6060f1SDimitry Andric FeatureNNPAssist, 333fe6060f1SDimitry Andric FeatureBEAREnhancement, 334fe6060f1SDimitry Andric FeatureResetDATProtection, 335fe6060f1SDimitry Andric FeatureProcessorActivityInstrumentation 336fe6060f1SDimitry Andric]>; 337fe6060f1SDimitry Andric 338fe6060f1SDimitry Andric//===----------------------------------------------------------------------===// 339fe6060f1SDimitry Andric// 3400b57cec5SDimitry Andric// Cumulative supported and unsupported feature sets 3410b57cec5SDimitry Andric// 3420b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 3430b57cec5SDimitry Andric 3440b57cec5SDimitry Andricdef Arch8SupportedFeatures 3450b57cec5SDimitry Andric : SystemZFeatureList<[]>; 3460b57cec5SDimitry Andricdef Arch9SupportedFeatures 3470b57cec5SDimitry Andric : SystemZFeatureAdd<Arch8SupportedFeatures.List, Arch9NewFeatures.List>; 3480b57cec5SDimitry Andricdef Arch10SupportedFeatures 3490b57cec5SDimitry Andric : SystemZFeatureAdd<Arch9SupportedFeatures.List, Arch10NewFeatures.List>; 3500b57cec5SDimitry Andricdef Arch11SupportedFeatures 3510b57cec5SDimitry Andric : SystemZFeatureAdd<Arch10SupportedFeatures.List, Arch11NewFeatures.List>; 3520b57cec5SDimitry Andricdef Arch12SupportedFeatures 3530b57cec5SDimitry Andric : SystemZFeatureAdd<Arch11SupportedFeatures.List, Arch12NewFeatures.List>; 3540b57cec5SDimitry Andricdef Arch13SupportedFeatures 3550b57cec5SDimitry Andric : SystemZFeatureAdd<Arch12SupportedFeatures.List, Arch13NewFeatures.List>; 356fe6060f1SDimitry Andricdef Arch14SupportedFeatures 357fe6060f1SDimitry Andric : SystemZFeatureAdd<Arch13SupportedFeatures.List, Arch14NewFeatures.List>; 3580b57cec5SDimitry Andric 359fe6060f1SDimitry Andricdef Arch14UnsupportedFeatures 3600b57cec5SDimitry Andric : SystemZFeatureList<[]>; 361fe6060f1SDimitry Andricdef Arch13UnsupportedFeatures 362fe6060f1SDimitry Andric : SystemZFeatureAdd<Arch14UnsupportedFeatures.List, Arch14NewFeatures.List>; 3630b57cec5SDimitry Andricdef Arch12UnsupportedFeatures 3640b57cec5SDimitry Andric : SystemZFeatureAdd<Arch13UnsupportedFeatures.List, Arch13NewFeatures.List>; 3650b57cec5SDimitry Andricdef Arch11UnsupportedFeatures 3660b57cec5SDimitry Andric : SystemZFeatureAdd<Arch12UnsupportedFeatures.List, Arch12NewFeatures.List>; 3670b57cec5SDimitry Andricdef Arch10UnsupportedFeatures 3680b57cec5SDimitry Andric : SystemZFeatureAdd<Arch11UnsupportedFeatures.List, Arch11NewFeatures.List>; 3690b57cec5SDimitry Andricdef Arch9UnsupportedFeatures 3700b57cec5SDimitry Andric : SystemZFeatureAdd<Arch10UnsupportedFeatures.List, Arch10NewFeatures.List>; 3710b57cec5SDimitry Andricdef Arch8UnsupportedFeatures 3720b57cec5SDimitry Andric : SystemZFeatureAdd<Arch9UnsupportedFeatures.List, Arch9NewFeatures.List>; 3730b57cec5SDimitry Andric 374