Source
pub const cpu = struct {
pub const arch10: CpuModel = .{
.name = "arch10",
.llvm_name = "arch10",
.features = featureSet(&[_]Feature{
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.execution_hint,
.fast_serialization,
.fp_extension,
.high_word,
.interlocked_access1,
.load_and_trap,
.load_store_on_cond,
.message_security_assist_extension3,
.message_security_assist_extension4,
.miscellaneous_extensions,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.transactional_execution,
}),
};
pub const arch11: CpuModel = .{
.name = "arch11",
.llvm_name = "arch11",
.features = featureSet(&[_]Feature{
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.execution_hint,
.fast_serialization,
.fp_extension,
.high_word,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.miscellaneous_extensions,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.transactional_execution,
.vector,
}),
};
pub const arch12: CpuModel = .{
.name = "arch12",
.llvm_name = "arch12",
.features = featureSet(&[_]Feature{
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.execution_hint,
.fast_serialization,
.fp_extension,
.guarded_storage,
.high_word,
.insert_reference_bits_multiple,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.message_security_assist_extension7,
.message_security_assist_extension8,
.miscellaneous_extensions,
.miscellaneous_extensions_2,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.test_pending_external_interruption,
.transactional_execution,
.vector,
.vector_enhancements_1,
.vector_packed_decimal,
}),
};
pub const arch13: CpuModel = .{
.name = "arch13",
.llvm_name = "arch13",
.features = featureSet(&[_]Feature{
.deflate_conversion,
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.enhanced_sort,
.execution_hint,
.fast_serialization,
.fp_extension,
.guarded_storage,
.high_word,
.insert_reference_bits_multiple,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.message_security_assist_extension7,
.message_security_assist_extension8,
.message_security_assist_extension9,
.miscellaneous_extensions,
.miscellaneous_extensions_2,
.miscellaneous_extensions_3,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.test_pending_external_interruption,
.transactional_execution,
.vector,
.vector_enhancements_1,
.vector_enhancements_2,
.vector_packed_decimal,
.vector_packed_decimal_enhancement,
}),
};
pub const arch14: CpuModel = .{
.name = "arch14",
.llvm_name = "arch14",
.features = featureSet(&[_]Feature{
.bear_enhancement,
.deflate_conversion,
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.enhanced_sort,
.execution_hint,
.fast_serialization,
.fp_extension,
.guarded_storage,
.high_word,
.insert_reference_bits_multiple,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.message_security_assist_extension7,
.message_security_assist_extension8,
.message_security_assist_extension9,
.miscellaneous_extensions,
.miscellaneous_extensions_2,
.miscellaneous_extensions_3,
.nnp_assist,
.population_count,
.processor_activity_instrumentation,
.processor_assist,
.reset_dat_protection,
.reset_reference_bits_multiple,
.test_pending_external_interruption,
.transactional_execution,
.vector,
.vector_enhancements_1,
.vector_enhancements_2,
.vector_packed_decimal,
.vector_packed_decimal_enhancement,
.vector_packed_decimal_enhancement_2,
}),
};
pub const arch8: CpuModel = .{
.name = "arch8",
.llvm_name = "arch8",
.features = featureSet(&[_]Feature{}),
};
pub const arch9: CpuModel = .{
.name = "arch9",
.llvm_name = "arch9",
.features = featureSet(&[_]Feature{
.distinct_ops,
.fast_serialization,
.fp_extension,
.high_word,
.interlocked_access1,
.load_store_on_cond,
.message_security_assist_extension3,
.message_security_assist_extension4,
.population_count,
.reset_reference_bits_multiple,
}),
};
pub const generic: CpuModel = .{
.name = "generic",
.llvm_name = "generic",
.features = featureSet(&[_]Feature{}),
};
pub const z10: CpuModel = .{
.name = "z10",
.llvm_name = "z10",
.features = featureSet(&[_]Feature{}),
};
pub const z13: CpuModel = .{
.name = "z13",
.llvm_name = "z13",
.features = featureSet(&[_]Feature{
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.execution_hint,
.fast_serialization,
.fp_extension,
.high_word,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.miscellaneous_extensions,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.transactional_execution,
.vector,
}),
};
pub const z14: CpuModel = .{
.name = "z14",
.llvm_name = "z14",
.features = featureSet(&[_]Feature{
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.execution_hint,
.fast_serialization,
.fp_extension,
.guarded_storage,
.high_word,
.insert_reference_bits_multiple,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.message_security_assist_extension7,
.message_security_assist_extension8,
.miscellaneous_extensions,
.miscellaneous_extensions_2,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.test_pending_external_interruption,
.transactional_execution,
.vector,
.vector_enhancements_1,
.vector_packed_decimal,
}),
};
pub const z15: CpuModel = .{
.name = "z15",
.llvm_name = "z15",
.features = featureSet(&[_]Feature{
.deflate_conversion,
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.enhanced_sort,
.execution_hint,
.fast_serialization,
.fp_extension,
.guarded_storage,
.high_word,
.insert_reference_bits_multiple,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.message_security_assist_extension7,
.message_security_assist_extension8,
.message_security_assist_extension9,
.miscellaneous_extensions,
.miscellaneous_extensions_2,
.miscellaneous_extensions_3,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.test_pending_external_interruption,
.transactional_execution,
.vector,
.vector_enhancements_1,
.vector_enhancements_2,
.vector_packed_decimal,
.vector_packed_decimal_enhancement,
}),
};
pub const z16: CpuModel = .{
.name = "z16",
.llvm_name = "z16",
.features = featureSet(&[_]Feature{
.bear_enhancement,
.deflate_conversion,
.dfp_packed_conversion,
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.enhanced_sort,
.execution_hint,
.fast_serialization,
.fp_extension,
.guarded_storage,
.high_word,
.insert_reference_bits_multiple,
.interlocked_access1,
.load_and_trap,
.load_and_zero_rightmost_byte,
.load_store_on_cond,
.load_store_on_cond_2,
.message_security_assist_extension3,
.message_security_assist_extension4,
.message_security_assist_extension5,
.message_security_assist_extension7,
.message_security_assist_extension8,
.message_security_assist_extension9,
.miscellaneous_extensions,
.miscellaneous_extensions_2,
.miscellaneous_extensions_3,
.nnp_assist,
.population_count,
.processor_activity_instrumentation,
.processor_assist,
.reset_dat_protection,
.reset_reference_bits_multiple,
.test_pending_external_interruption,
.transactional_execution,
.vector,
.vector_enhancements_1,
.vector_enhancements_2,
.vector_packed_decimal,
.vector_packed_decimal_enhancement,
.vector_packed_decimal_enhancement_2,
}),
};
pub const z196: CpuModel = .{
.name = "z196",
.llvm_name = "z196",
.features = featureSet(&[_]Feature{
.distinct_ops,
.fast_serialization,
.fp_extension,
.high_word,
.interlocked_access1,
.load_store_on_cond,
.message_security_assist_extension3,
.message_security_assist_extension4,
.population_count,
.reset_reference_bits_multiple,
}),
};
pub const zEC12: CpuModel = .{
.name = "zEC12",
.llvm_name = "zEC12",
.features = featureSet(&[_]Feature{
.dfp_zoned_conversion,
.distinct_ops,
.enhanced_dat_2,
.execution_hint,
.fast_serialization,
.fp_extension,
.high_word,
.interlocked_access1,
.load_and_trap,
.load_store_on_cond,
.message_security_assist_extension3,
.message_security_assist_extension4,
.miscellaneous_extensions,
.population_count,
.processor_assist,
.reset_reference_bits_multiple,
.transactional_execution,
}),
};
}