| ... | @@ -1,8 +1,5 @@ | ... | @@ -1,8 +1,5 @@ |
| 1 | // SPDX-License-Identifier: MIT | 1 | //! This file is auto-generated by tools/update_cpu_features.zig. |
| 2 | // Copyright (c) 2015-2021 Zig Contributors | 2 | |
| 3 | // This file is part of [zig](https://ziglang.org/), which is MIT licensed. | | |
| 4 | // The MIT license requires this copyright notice to be included in all copies | | |
| 5 | // and substantial portions of the software. | | |
| 6 | const std = @import("../std.zig"); | 3 | const std = @import("../std.zig"); |
| 7 | const CpuFeature = std.Target.Cpu.Feature; | 4 | const CpuFeature = std.Target.Cpu.Feature; |
| 8 | const CpuModel = std.Target.Cpu.Model; | 5 | const CpuModel = std.Target.Cpu.Model; |
| ... | @@ -26,7 +23,6 @@ pub const Feature = enum { | ... | @@ -26,7 +23,6 @@ pub const Feature = enum { |
| 26 | dpp, | 23 | dpp, |
| 27 | dpp8, | 24 | dpp8, |
| 28 | ds_src2_insts, | 25 | ds_src2_insts, |
| 29 | dump_code, | | |
| 30 | enable_ds128, | 26 | enable_ds128, |
| 31 | enable_prt_strict_null, | 27 | enable_prt_strict_null, |
| 32 | fast_denormal_f32, | 28 | fast_denormal_f32, |
| ... | @@ -76,8 +72,6 @@ pub const Feature = enum { | ... | @@ -76,8 +72,6 @@ pub const Feature = enum { |
| 76 | movrel, | 72 | movrel, |
| 77 | no_data_dep_hazard, | 73 | no_data_dep_hazard, |
| 78 | no_sdst_cmpx, | 74 | no_sdst_cmpx, |
| 79 | no_sram_ecc_support, | | |
| 80 | no_xnack_support, | | |
| 81 | nsa_encoding, | 75 | nsa_encoding, |
| 82 | nsa_to_vmem_bug, | 76 | nsa_to_vmem_bug, |
| 83 | offset_3f_bug, | 77 | offset_3f_bug, |
| ... | @@ -101,7 +95,8 @@ pub const Feature = enum { | ... | @@ -101,7 +95,8 @@ pub const Feature = enum { |
| 101 | si_scheduler, | 95 | si_scheduler, |
| 102 | smem_to_vector_write_hazard, | 96 | smem_to_vector_write_hazard, |
| 103 | southern_islands, | 97 | southern_islands, |
| 104 | sram_ecc, | 98 | sramecc, |
| | 99 | sramecc_support, |
| 105 | trap_handler, | 100 | trap_handler, |
| 106 | trig_reduced_range, | 101 | trig_reduced_range, |
| 107 | unaligned_access_mode, | 102 | unaligned_access_mode, |
| ... | @@ -122,6 +117,7 @@ pub const Feature = enum { | ... | @@ -122,6 +117,7 @@ pub const Feature = enum { |
| 122 | wavefrontsize32, | 117 | wavefrontsize32, |
| 123 | wavefrontsize64, | 118 | wavefrontsize64, |
| 124 | xnack, | 119 | xnack, |
| | 120 | xnack_support, |
| 125 | }; | 121 | }; |
| 126 | | 122 | |
| 127 | pub usingnamespace CpuFeature.feature_set_fns(Feature); | 123 | pub usingnamespace CpuFeature.feature_set_fns(Feature); |
| ... | @@ -222,14 +218,9 @@ pub const all_features = blk: { | ... | @@ -222,14 +218,9 @@ pub const all_features = blk: { |
| 222 | .description = "Has ds_*_src2 instructions", | 218 | .description = "Has ds_*_src2 instructions", |
| 223 | .dependencies = featureSet(&[_]Feature{}), | 219 | .dependencies = featureSet(&[_]Feature{}), |
| 224 | }; | 220 | }; |
| 225 | result[@enumToInt(Feature.dump_code)] = .{ | | |
| 226 | .llvm_name = "dumpcode", | | |
| 227 | .description = "Dump MachineInstrs in the CodeEmitter", | | |
| 228 | .dependencies = featureSet(&[_]Feature{}), | | |
| 229 | }; | | |
| 230 | result[@enumToInt(Feature.enable_ds128)] = .{ | 221 | result[@enumToInt(Feature.enable_ds128)] = .{ |
| 231 | .llvm_name = "enable-ds128", | 222 | .llvm_name = "enable-ds128", |
| 232 | .description = "Use ds_read|write_b128", | 223 | .description = "Use ds_{read|write}_b128", |
| 233 | .dependencies = featureSet(&[_]Feature{}), | 224 | .dependencies = featureSet(&[_]Feature{}), |
| 234 | }; | 225 | }; |
| 235 | result[@enumToInt(Feature.enable_prt_strict_null)] = .{ | 226 | result[@enumToInt(Feature.enable_prt_strict_null)] = .{ |
| ... | @@ -337,7 +328,6 @@ pub const all_features = blk: { | ... | @@ -337,7 +328,6 @@ pub const all_features = blk: { |
| 337 | .movrel, | 328 | .movrel, |
| 338 | .no_data_dep_hazard, | 329 | .no_data_dep_hazard, |
| 339 | .no_sdst_cmpx, | 330 | .no_sdst_cmpx, |
| 340 | .no_sram_ecc_support, | | |
| 341 | .pk_fmac_f16_inst, | 331 | .pk_fmac_f16_inst, |
| 342 | .register_banking, | 332 | .register_banking, |
| 343 | .s_memrealtime, | 333 | .s_memrealtime, |
| ... | @@ -417,6 +407,7 @@ pub const all_features = blk: { | ... | @@ -417,6 +407,7 @@ pub const all_features = blk: { |
| 417 | .vgpr_index_mode, | 407 | .vgpr_index_mode, |
| 418 | .vop3p, | 408 | .vop3p, |
| 419 | .wavefrontsize64, | 409 | .wavefrontsize64, |
| | 410 | .xnack_support, |
| 420 | }), | 411 | }), |
| 421 | }; | 412 | }; |
| 422 | result[@enumToInt(Feature.gfx9_insts)] = .{ | 413 | result[@enumToInt(Feature.gfx9_insts)] = .{ |
| ... | @@ -549,16 +540,6 @@ pub const all_features = blk: { | ... | @@ -549,16 +540,6 @@ pub const all_features = blk: { |
| 549 | .description = "V_CMPX does not write VCC/SGPR in addition to EXEC", | 540 | .description = "V_CMPX does not write VCC/SGPR in addition to EXEC", |
| 550 | .dependencies = featureSet(&[_]Feature{}), | 541 | .dependencies = featureSet(&[_]Feature{}), |
| 551 | }; | 542 | }; |
| 552 | result[@enumToInt(Feature.no_sram_ecc_support)] = .{ | | |
| 553 | .llvm_name = "no-sram-ecc-support", | | |
| 554 | .description = "Hardware does not support SRAM ECC", | | |
| 555 | .dependencies = featureSet(&[_]Feature{}), | | |
| 556 | }; | | |
| 557 | result[@enumToInt(Feature.no_xnack_support)] = .{ | | |
| 558 | .llvm_name = "no-xnack-support", | | |
| 559 | .description = "Hardware does not support XNACK", | | |
| 560 | .dependencies = featureSet(&[_]Feature{}), | | |
| 561 | }; | | |
| 562 | result[@enumToInt(Feature.nsa_encoding)] = .{ | 543 | result[@enumToInt(Feature.nsa_encoding)] = .{ |
| 563 | .llvm_name = "nsa-encoding", | 544 | .llvm_name = "nsa-encoding", |
| 564 | .description = "Support NSA encoding for image instructions", | 545 | .description = "Support NSA encoding for image instructions", |
| ... | @@ -662,7 +643,6 @@ pub const all_features = blk: { | ... | @@ -662,7 +643,6 @@ pub const all_features = blk: { |
| 662 | .mad_mac_f32_insts, | 643 | .mad_mac_f32_insts, |
| 663 | .mimg_r128, | 644 | .mimg_r128, |
| 664 | .movrel, | 645 | .movrel, |
| 665 | .no_sram_ecc_support, | | |
| 666 | .s_memtime_inst, | 646 | .s_memtime_inst, |
| 667 | .trig_reduced_range, | 647 | .trig_reduced_range, |
| 668 | .unaligned_buffer_access, | 648 | .unaligned_buffer_access, |
| ... | @@ -695,16 +675,19 @@ pub const all_features = blk: { | ... | @@ -695,16 +675,19 @@ pub const all_features = blk: { |
| 695 | .mad_mac_f32_insts, | 675 | .mad_mac_f32_insts, |
| 696 | .mimg_r128, | 676 | .mimg_r128, |
| 697 | .movrel, | 677 | .movrel, |
| 698 | .no_sram_ecc_support, | | |
| 699 | .no_xnack_support, | | |
| 700 | .s_memtime_inst, | 678 | .s_memtime_inst, |
| 701 | .trig_reduced_range, | 679 | .trig_reduced_range, |
| 702 | .wavefrontsize64, | 680 | .wavefrontsize64, |
| 703 | }), | 681 | }), |
| 704 | }; | 682 | }; |
| 705 | result[@enumToInt(Feature.sram_ecc)] = .{ | 683 | result[@enumToInt(Feature.sramecc)] = .{ |
| 706 | .llvm_name = "sram-ecc", | 684 | .llvm_name = "sramecc", |
| 707 | .description = "Enable SRAM ECC", | 685 | .description = "Enable SRAMECC", |
| | 686 | .dependencies = featureSet(&[_]Feature{}), |
| | 687 | }; |
| | 688 | result[@enumToInt(Feature.sramecc_support)] = .{ |
| | 689 | .llvm_name = "sramecc-support", |
| | 690 | .description = "Hardware supports SRAMECC", |
| 708 | .dependencies = featureSet(&[_]Feature{}), | 691 | .dependencies = featureSet(&[_]Feature{}), |
| 709 | }; | 692 | }; |
| 710 | result[@enumToInt(Feature.trap_handler)] = .{ | 693 | result[@enumToInt(Feature.trap_handler)] = .{ |
| ... | @@ -787,7 +770,6 @@ pub const all_features = blk: { | ... | @@ -787,7 +770,6 @@ pub const all_features = blk: { |
| 787 | .mad_mac_f32_insts, | 770 | .mad_mac_f32_insts, |
| 788 | .mimg_r128, | 771 | .mimg_r128, |
| 789 | .movrel, | 772 | .movrel, |
| 790 | .no_sram_ecc_support, | | |
| 791 | .s_memrealtime, | 773 | .s_memrealtime, |
| 792 | .s_memtime_inst, | 774 | .s_memtime_inst, |
| 793 | .scalar_stores, | 775 | .scalar_stores, |
| ... | @@ -835,6 +817,11 @@ pub const all_features = blk: { | ... | @@ -835,6 +817,11 @@ pub const all_features = blk: { |
| 835 | .description = "Enable XNACK support", | 817 | .description = "Enable XNACK support", |
| 836 | .dependencies = featureSet(&[_]Feature{}), | 818 | .dependencies = featureSet(&[_]Feature{}), |
| 837 | }; | 819 | }; |
| | 820 | result[@enumToInt(Feature.xnack_support)] = .{ |
| | 821 | .llvm_name = "xnack-support", |
| | 822 | .description = "Hardware supports XNACK", |
| | 823 | .dependencies = featureSet(&[_]Feature{}), |
| | 824 | }; |
| 838 | const ti = @typeInfo(Feature); | 825 | const ti = @typeInfo(Feature); |
| 839 | for (result) |*elem, i| { | 826 | for (result) |*elem, i| { |
| 840 | elem.index = i; | 827 | elem.index = i; |
| ... | @@ -849,7 +836,6 @@ pub const cpu = struct { | ... | @@ -849,7 +836,6 @@ pub const cpu = struct { |
| 849 | .llvm_name = "bonaire", | 836 | .llvm_name = "bonaire", |
| 850 | .features = featureSet(&[_]Feature{ | 837 | .features = featureSet(&[_]Feature{ |
| 851 | .ldsbankcount32, | 838 | .ldsbankcount32, |
| 852 | .no_xnack_support, | | |
| 853 | .sea_islands, | 839 | .sea_islands, |
| 854 | }), | 840 | }), |
| 855 | }; | 841 | }; |
| ... | @@ -862,7 +848,7 @@ pub const cpu = struct { | ... | @@ -862,7 +848,7 @@ pub const cpu = struct { |
| 862 | .ldsbankcount32, | 848 | .ldsbankcount32, |
| 863 | .unpacked_d16_vmem, | 849 | .unpacked_d16_vmem, |
| 864 | .volcanic_islands, | 850 | .volcanic_islands, |
| 865 | .xnack, | 851 | .xnack_support, |
| 866 | }), | 852 | }), |
| 867 | }; | 853 | }; |
| 868 | pub const fiji = CpuModel{ | 854 | pub const fiji = CpuModel{ |
| ... | @@ -870,7 +856,6 @@ pub const cpu = struct { | ... | @@ -870,7 +856,6 @@ pub const cpu = struct { |
| 870 | .llvm_name = "fiji", | 856 | .llvm_name = "fiji", |
| 871 | .features = featureSet(&[_]Feature{ | 857 | .features = featureSet(&[_]Feature{ |
| 872 | .ldsbankcount32, | 858 | .ldsbankcount32, |
| 873 | .no_xnack_support, | | |
| 874 | .unpacked_d16_vmem, | 859 | .unpacked_d16_vmem, |
| 875 | .volcanic_islands, | 860 | .volcanic_islands, |
| 876 | }), | 861 | }), |
| ... | @@ -904,7 +889,6 @@ pub const cpu = struct { | ... | @@ -904,7 +889,6 @@ pub const cpu = struct { |
| 904 | .lds_misaligned_bug, | 889 | .lds_misaligned_bug, |
| 905 | .ldsbankcount32, | 890 | .ldsbankcount32, |
| 906 | .mad_mac_f32_insts, | 891 | .mad_mac_f32_insts, |
| 907 | .no_xnack_support, | | |
| 908 | .nsa_encoding, | 892 | .nsa_encoding, |
| 909 | .nsa_to_vmem_bug, | 893 | .nsa_to_vmem_bug, |
| 910 | .offset_3f_bug, | 894 | .offset_3f_bug, |
| ... | @@ -917,6 +901,7 @@ pub const cpu = struct { | ... | @@ -917,6 +901,7 @@ pub const cpu = struct { |
| 917 | .vcmpx_permlane_hazard, | 901 | .vcmpx_permlane_hazard, |
| 918 | .vmem_to_scalar_write_hazard, | 902 | .vmem_to_scalar_write_hazard, |
| 919 | .wavefrontsize32, | 903 | .wavefrontsize32, |
| | 904 | .xnack_support, |
| 920 | }), | 905 | }), |
| 921 | }; | 906 | }; |
| 922 | pub const gfx1011 = CpuModel{ | 907 | pub const gfx1011 = CpuModel{ |
| ... | @@ -937,7 +922,6 @@ pub const cpu = struct { | ... | @@ -937,7 +922,6 @@ pub const cpu = struct { |
| 937 | .lds_misaligned_bug, | 922 | .lds_misaligned_bug, |
| 938 | .ldsbankcount32, | 923 | .ldsbankcount32, |
| 939 | .mad_mac_f32_insts, | 924 | .mad_mac_f32_insts, |
| 940 | .no_xnack_support, | | |
| 941 | .nsa_encoding, | 925 | .nsa_encoding, |
| 942 | .nsa_to_vmem_bug, | 926 | .nsa_to_vmem_bug, |
| 943 | .offset_3f_bug, | 927 | .offset_3f_bug, |
| ... | @@ -950,6 +934,7 @@ pub const cpu = struct { | ... | @@ -950,6 +934,7 @@ pub const cpu = struct { |
| 950 | .vcmpx_permlane_hazard, | 934 | .vcmpx_permlane_hazard, |
| 951 | .vmem_to_scalar_write_hazard, | 935 | .vmem_to_scalar_write_hazard, |
| 952 | .wavefrontsize32, | 936 | .wavefrontsize32, |
| | 937 | .xnack_support, |
| 953 | }), | 938 | }), |
| 954 | }; | 939 | }; |
| 955 | pub const gfx1012 = CpuModel{ | 940 | pub const gfx1012 = CpuModel{ |
| ... | @@ -970,7 +955,6 @@ pub const cpu = struct { | ... | @@ -970,7 +955,6 @@ pub const cpu = struct { |
| 970 | .lds_misaligned_bug, | 955 | .lds_misaligned_bug, |
| 971 | .ldsbankcount32, | 956 | .ldsbankcount32, |
| 972 | .mad_mac_f32_insts, | 957 | .mad_mac_f32_insts, |
| 973 | .no_xnack_support, | | |
| 974 | .nsa_encoding, | 958 | .nsa_encoding, |
| 975 | .nsa_to_vmem_bug, | 959 | .nsa_to_vmem_bug, |
| 976 | .offset_3f_bug, | 960 | .offset_3f_bug, |
| ... | @@ -983,6 +967,7 @@ pub const cpu = struct { | ... | @@ -983,6 +967,7 @@ pub const cpu = struct { |
| 983 | .vcmpx_permlane_hazard, | 967 | .vcmpx_permlane_hazard, |
| 984 | .vmem_to_scalar_write_hazard, | 968 | .vmem_to_scalar_write_hazard, |
| 985 | .wavefrontsize32, | 969 | .wavefrontsize32, |
| | 970 | .xnack_support, |
| 986 | }), | 971 | }), |
| 987 | }; | 972 | }; |
| 988 | pub const gfx1030 = CpuModel{ | 973 | pub const gfx1030 = CpuModel{ |
| ... | @@ -998,7 +983,6 @@ pub const cpu = struct { | ... | @@ -998,7 +983,6 @@ pub const cpu = struct { |
| 998 | .gfx10_3_insts, | 983 | .gfx10_3_insts, |
| 999 | .gfx10_b_encoding, | 984 | .gfx10_b_encoding, |
| 1000 | .ldsbankcount32, | 985 | .ldsbankcount32, |
| 1001 | .no_xnack_support, | | |
| 1002 | .nsa_encoding, | 986 | .nsa_encoding, |
| 1003 | .wavefrontsize32, | 987 | .wavefrontsize32, |
| 1004 | }), | 988 | }), |
| ... | @@ -1016,7 +1000,6 @@ pub const cpu = struct { | ... | @@ -1016,7 +1000,6 @@ pub const cpu = struct { |
| 1016 | .gfx10_3_insts, | 1000 | .gfx10_3_insts, |
| 1017 | .gfx10_b_encoding, | 1001 | .gfx10_b_encoding, |
| 1018 | .ldsbankcount32, | 1002 | .ldsbankcount32, |
| 1019 | .no_xnack_support, | | |
| 1020 | .nsa_encoding, | 1003 | .nsa_encoding, |
| 1021 | .wavefrontsize32, | 1004 | .wavefrontsize32, |
| 1022 | }), | 1005 | }), |
| ... | @@ -1034,7 +1017,6 @@ pub const cpu = struct { | ... | @@ -1034,7 +1017,6 @@ pub const cpu = struct { |
| 1034 | .gfx10_3_insts, | 1017 | .gfx10_3_insts, |
| 1035 | .gfx10_b_encoding, | 1018 | .gfx10_b_encoding, |
| 1036 | .ldsbankcount32, | 1019 | .ldsbankcount32, |
| 1037 | .no_xnack_support, | | |
| 1038 | .nsa_encoding, | 1020 | .nsa_encoding, |
| 1039 | .wavefrontsize32, | 1021 | .wavefrontsize32, |
| 1040 | }), | 1022 | }), |
| ... | @@ -1052,7 +1034,6 @@ pub const cpu = struct { | ... | @@ -1052,7 +1034,6 @@ pub const cpu = struct { |
| 1052 | .gfx10_3_insts, | 1034 | .gfx10_3_insts, |
| 1053 | .gfx10_b_encoding, | 1035 | .gfx10_b_encoding, |
| 1054 | .ldsbankcount32, | 1036 | .ldsbankcount32, |
| 1055 | .no_xnack_support, | | |
| 1056 | .nsa_encoding, | 1037 | .nsa_encoding, |
| 1057 | .wavefrontsize32, | 1038 | .wavefrontsize32, |
| 1058 | }), | 1039 | }), |
| ... | @@ -1063,8 +1044,6 @@ pub const cpu = struct { | ... | @@ -1063,8 +1044,6 @@ pub const cpu = struct { |
| 1063 | .features = featureSet(&[_]Feature{ | 1044 | .features = featureSet(&[_]Feature{ |
| 1064 | .fast_fmaf, | 1045 | .fast_fmaf, |
| 1065 | .half_rate_64_ops, | 1046 | .half_rate_64_ops, |
| 1066 | .ldsbankcount32, | | |
| 1067 | .no_xnack_support, | | |
| 1068 | .southern_islands, | 1047 | .southern_islands, |
| 1069 | }), | 1048 | }), |
| 1070 | }; | 1049 | }; |
| ... | @@ -1072,8 +1051,6 @@ pub const cpu = struct { | ... | @@ -1072,8 +1051,6 @@ pub const cpu = struct { |
| 1072 | .name = "gfx601", | 1051 | .name = "gfx601", |
| 1073 | .llvm_name = "gfx601", | 1052 | .llvm_name = "gfx601", |
| 1074 | .features = featureSet(&[_]Feature{ | 1053 | .features = featureSet(&[_]Feature{ |
| 1075 | .ldsbankcount32, | | |
| 1076 | .no_xnack_support, | | |
| 1077 | .southern_islands, | 1054 | .southern_islands, |
| 1078 | }), | 1055 | }), |
| 1079 | }; | 1056 | }; |
| ... | @@ -1081,8 +1058,6 @@ pub const cpu = struct { | ... | @@ -1081,8 +1058,6 @@ pub const cpu = struct { |
| 1081 | .name = "gfx602", | 1058 | .name = "gfx602", |
| 1082 | .llvm_name = "gfx602", | 1059 | .llvm_name = "gfx602", |
| 1083 | .features = featureSet(&[_]Feature{ | 1060 | .features = featureSet(&[_]Feature{ |
| 1084 | .ldsbankcount32, | | |
| 1085 | .no_xnack_support, | | |
| 1086 | .southern_islands, | 1061 | .southern_islands, |
| 1087 | }), | 1062 | }), |
| 1088 | }; | 1063 | }; |
| ... | @@ -1091,7 +1066,6 @@ pub const cpu = struct { | ... | @@ -1091,7 +1066,6 @@ pub const cpu = struct { |
| 1091 | .llvm_name = "gfx700", | 1066 | .llvm_name = "gfx700", |
| 1092 | .features = featureSet(&[_]Feature{ | 1067 | .features = featureSet(&[_]Feature{ |
| 1093 | .ldsbankcount32, | 1068 | .ldsbankcount32, |
| 1094 | .no_xnack_support, | | |
| 1095 | .sea_islands, | 1069 | .sea_islands, |
| 1096 | }), | 1070 | }), |
| 1097 | }; | 1071 | }; |
| ... | @@ -1102,7 +1076,6 @@ pub const cpu = struct { | ... | @@ -1102,7 +1076,6 @@ pub const cpu = struct { |
| 1102 | .fast_fmaf, | 1076 | .fast_fmaf, |
| 1103 | .half_rate_64_ops, | 1077 | .half_rate_64_ops, |
| 1104 | .ldsbankcount32, | 1078 | .ldsbankcount32, |
| 1105 | .no_xnack_support, | | |
| 1106 | .sea_islands, | 1079 | .sea_islands, |
| 1107 | }), | 1080 | }), |
| 1108 | }; | 1081 | }; |
| ... | @@ -1112,7 +1085,6 @@ pub const cpu = struct { | ... | @@ -1112,7 +1085,6 @@ pub const cpu = struct { |
| 1112 | .features = featureSet(&[_]Feature{ | 1085 | .features = featureSet(&[_]Feature{ |
| 1113 | .fast_fmaf, | 1086 | .fast_fmaf, |
| 1114 | .ldsbankcount16, | 1087 | .ldsbankcount16, |
| 1115 | .no_xnack_support, | | |
| 1116 | .sea_islands, | 1088 | .sea_islands, |
| 1117 | }), | 1089 | }), |
| 1118 | }; | 1090 | }; |
| ... | @@ -1121,7 +1093,6 @@ pub const cpu = struct { | ... | @@ -1121,7 +1093,6 @@ pub const cpu = struct { |
| 1121 | .llvm_name = "gfx703", | 1093 | .llvm_name = "gfx703", |
| 1122 | .features = featureSet(&[_]Feature{ | 1094 | .features = featureSet(&[_]Feature{ |
| 1123 | .ldsbankcount16, | 1095 | .ldsbankcount16, |
| 1124 | .no_xnack_support, | | |
| 1125 | .sea_islands, | 1096 | .sea_islands, |
| 1126 | }), | 1097 | }), |
| 1127 | }; | 1098 | }; |
| ... | @@ -1130,7 +1101,6 @@ pub const cpu = struct { | ... | @@ -1130,7 +1101,6 @@ pub const cpu = struct { |
| 1130 | .llvm_name = "gfx704", | 1101 | .llvm_name = "gfx704", |
| 1131 | .features = featureSet(&[_]Feature{ | 1102 | .features = featureSet(&[_]Feature{ |
| 1132 | .ldsbankcount32, | 1103 | .ldsbankcount32, |
| 1133 | .no_xnack_support, | | |
| 1134 | .sea_islands, | 1104 | .sea_islands, |
| 1135 | }), | 1105 | }), |
| 1136 | }; | 1106 | }; |
| ... | @@ -1139,7 +1109,6 @@ pub const cpu = struct { | ... | @@ -1139,7 +1109,6 @@ pub const cpu = struct { |
| 1139 | .llvm_name = "gfx705", | 1109 | .llvm_name = "gfx705", |
| 1140 | .features = featureSet(&[_]Feature{ | 1110 | .features = featureSet(&[_]Feature{ |
| 1141 | .ldsbankcount16, | 1111 | .ldsbankcount16, |
| 1142 | .no_xnack_support, | | |
| 1143 | .sea_islands, | 1112 | .sea_islands, |
| 1144 | }), | 1113 | }), |
| 1145 | }; | 1114 | }; |
| ... | @@ -1152,7 +1121,7 @@ pub const cpu = struct { | ... | @@ -1152,7 +1121,7 @@ pub const cpu = struct { |
| 1152 | .ldsbankcount32, | 1121 | .ldsbankcount32, |
| 1153 | .unpacked_d16_vmem, | 1122 | .unpacked_d16_vmem, |
| 1154 | .volcanic_islands, | 1123 | .volcanic_islands, |
| 1155 | .xnack, | 1124 | .xnack_support, |
| 1156 | }), | 1125 | }), |
| 1157 | }; | 1126 | }; |
| 1158 | pub const gfx802 = CpuModel{ | 1127 | pub const gfx802 = CpuModel{ |
| ... | @@ -1160,7 +1129,6 @@ pub const cpu = struct { | ... | @@ -1160,7 +1129,6 @@ pub const cpu = struct { |
| 1160 | .llvm_name = "gfx802", | 1129 | .llvm_name = "gfx802", |
| 1161 | .features = featureSet(&[_]Feature{ | 1130 | .features = featureSet(&[_]Feature{ |
| 1162 | .ldsbankcount32, | 1131 | .ldsbankcount32, |
| 1163 | .no_xnack_support, | | |
| 1164 | .sgpr_init_bug, | 1132 | .sgpr_init_bug, |
| 1165 | .unpacked_d16_vmem, | 1133 | .unpacked_d16_vmem, |
| 1166 | .volcanic_islands, | 1134 | .volcanic_islands, |
| ... | @@ -1171,7 +1139,6 @@ pub const cpu = struct { | ... | @@ -1171,7 +1139,6 @@ pub const cpu = struct { |
| 1171 | .llvm_name = "gfx803", | 1139 | .llvm_name = "gfx803", |
| 1172 | .features = featureSet(&[_]Feature{ | 1140 | .features = featureSet(&[_]Feature{ |
| 1173 | .ldsbankcount32, | 1141 | .ldsbankcount32, |
| 1174 | .no_xnack_support, | | |
| 1175 | .unpacked_d16_vmem, | 1142 | .unpacked_d16_vmem, |
| 1176 | .volcanic_islands, | 1143 | .volcanic_islands, |
| 1177 | }), | 1144 | }), |
| ... | @@ -1181,7 +1148,6 @@ pub const cpu = struct { | ... | @@ -1181,7 +1148,6 @@ pub const cpu = struct { |
| 1181 | .llvm_name = "gfx805", | 1148 | .llvm_name = "gfx805", |
| 1182 | .features = featureSet(&[_]Feature{ | 1149 | .features = featureSet(&[_]Feature{ |
| 1183 | .ldsbankcount32, | 1150 | .ldsbankcount32, |
| 1184 | .no_xnack_support, | | |
| 1185 | .sgpr_init_bug, | 1151 | .sgpr_init_bug, |
| 1186 | .unpacked_d16_vmem, | 1152 | .unpacked_d16_vmem, |
| 1187 | .volcanic_islands, | 1153 | .volcanic_islands, |
| ... | @@ -1195,7 +1161,7 @@ pub const cpu = struct { | ... | @@ -1195,7 +1161,7 @@ pub const cpu = struct { |
| 1195 | .image_store_d16_bug, | 1161 | .image_store_d16_bug, |
| 1196 | .ldsbankcount16, | 1162 | .ldsbankcount16, |
| 1197 | .volcanic_islands, | 1163 | .volcanic_islands, |
| 1198 | .xnack, | 1164 | .xnack_support, |
| 1199 | }), | 1165 | }), |
| 1200 | }; | 1166 | }; |
| 1201 | pub const gfx900 = CpuModel{ | 1167 | pub const gfx900 = CpuModel{ |
| ... | @@ -1206,8 +1172,6 @@ pub const cpu = struct { | ... | @@ -1206,8 +1172,6 @@ pub const cpu = struct { |
| 1206 | .image_gather4_d16_bug, | 1172 | .image_gather4_d16_bug, |
| 1207 | .ldsbankcount32, | 1173 | .ldsbankcount32, |
| 1208 | .mad_mix_insts, | 1174 | .mad_mix_insts, |
| 1209 | .no_sram_ecc_support, | | |
| 1210 | .no_xnack_support, | | |
| 1211 | }), | 1175 | }), |
| 1212 | }; | 1176 | }; |
| 1213 | pub const gfx902 = CpuModel{ | 1177 | pub const gfx902 = CpuModel{ |
| ... | @@ -1218,8 +1182,6 @@ pub const cpu = struct { | ... | @@ -1218,8 +1182,6 @@ pub const cpu = struct { |
| 1218 | .image_gather4_d16_bug, | 1182 | .image_gather4_d16_bug, |
| 1219 | .ldsbankcount32, | 1183 | .ldsbankcount32, |
| 1220 | .mad_mix_insts, | 1184 | .mad_mix_insts, |
| 1221 | .no_sram_ecc_support, | | |
| 1222 | .xnack, | | |
| 1223 | }), | 1185 | }), |
| 1224 | }; | 1186 | }; |
| 1225 | pub const gfx904 = CpuModel{ | 1187 | pub const gfx904 = CpuModel{ |
| ... | @@ -1230,8 +1192,6 @@ pub const cpu = struct { | ... | @@ -1230,8 +1192,6 @@ pub const cpu = struct { |
| 1230 | .gfx9, | 1192 | .gfx9, |
| 1231 | .image_gather4_d16_bug, | 1193 | .image_gather4_d16_bug, |
| 1232 | .ldsbankcount32, | 1194 | .ldsbankcount32, |
| 1233 | .no_sram_ecc_support, | | |
| 1234 | .no_xnack_support, | | |
| 1235 | }), | 1195 | }), |
| 1236 | }; | 1196 | }; |
| 1237 | pub const gfx906 = CpuModel{ | 1197 | pub const gfx906 = CpuModel{ |
| ... | @@ -1246,7 +1206,7 @@ pub const cpu = struct { | ... | @@ -1246,7 +1206,7 @@ pub const cpu = struct { |
| 1246 | .half_rate_64_ops, | 1206 | .half_rate_64_ops, |
| 1247 | .image_gather4_d16_bug, | 1207 | .image_gather4_d16_bug, |
| 1248 | .ldsbankcount32, | 1208 | .ldsbankcount32, |
| 1249 | .no_xnack_support, | 1209 | .sramecc_support, |
| 1250 | }), | 1210 | }), |
| 1251 | }; | 1211 | }; |
| 1252 | pub const gfx908 = CpuModel{ | 1212 | pub const gfx908 = CpuModel{ |
| ... | @@ -1269,7 +1229,7 @@ pub const cpu = struct { | ... | @@ -1269,7 +1229,7 @@ pub const cpu = struct { |
| 1269 | .mai_insts, | 1229 | .mai_insts, |
| 1270 | .mfma_inline_literal_bug, | 1230 | .mfma_inline_literal_bug, |
| 1271 | .pk_fmac_f16_inst, | 1231 | .pk_fmac_f16_inst, |
| 1272 | .sram_ecc, | 1232 | .sramecc_support, |
| 1273 | }), | 1233 | }), |
| 1274 | }; | 1234 | }; |
| 1275 | pub const gfx909 = CpuModel{ | 1235 | pub const gfx909 = CpuModel{ |
| ... | @@ -1280,7 +1240,6 @@ pub const cpu = struct { | ... | @@ -1280,7 +1240,6 @@ pub const cpu = struct { |
| 1280 | .image_gather4_d16_bug, | 1240 | .image_gather4_d16_bug, |
| 1281 | .ldsbankcount32, | 1241 | .ldsbankcount32, |
| 1282 | .mad_mix_insts, | 1242 | .mad_mix_insts, |
| 1283 | .xnack, | | |
| 1284 | }), | 1243 | }), |
| 1285 | }; | 1244 | }; |
| 1286 | pub const gfx90c = CpuModel{ | 1245 | pub const gfx90c = CpuModel{ |
| ... | @@ -1298,8 +1257,6 @@ pub const cpu = struct { | ... | @@ -1298,8 +1257,6 @@ pub const cpu = struct { |
| 1298 | .name = "hainan", | 1257 | .name = "hainan", |
| 1299 | .llvm_name = "hainan", | 1258 | .llvm_name = "hainan", |
| 1300 | .features = featureSet(&[_]Feature{ | 1259 | .features = featureSet(&[_]Feature{ |
| 1301 | .ldsbankcount32, | | |
| 1302 | .no_xnack_support, | | |
| 1303 | .southern_islands, | 1260 | .southern_islands, |
| 1304 | }), | 1261 | }), |
| 1305 | }; | 1262 | }; |
| ... | @@ -1310,7 +1267,6 @@ pub const cpu = struct { | ... | @@ -1310,7 +1267,6 @@ pub const cpu = struct { |
| 1310 | .fast_fmaf, | 1267 | .fast_fmaf, |
| 1311 | .half_rate_64_ops, | 1268 | .half_rate_64_ops, |
| 1312 | .ldsbankcount32, | 1269 | .ldsbankcount32, |
| 1313 | .no_xnack_support, | | |
| 1314 | .sea_islands, | 1270 | .sea_islands, |
| 1315 | }), | 1271 | }), |
| 1316 | }; | 1272 | }; |
| ... | @@ -1319,7 +1275,6 @@ pub const cpu = struct { | ... | @@ -1319,7 +1275,6 @@ pub const cpu = struct { |
| 1319 | .llvm_name = "iceland", | 1275 | .llvm_name = "iceland", |
| 1320 | .features = featureSet(&[_]Feature{ | 1276 | .features = featureSet(&[_]Feature{ |
| 1321 | .ldsbankcount32, | 1277 | .ldsbankcount32, |
| 1322 | .no_xnack_support, | | |
| 1323 | .sgpr_init_bug, | 1278 | .sgpr_init_bug, |
| 1324 | .unpacked_d16_vmem, | 1279 | .unpacked_d16_vmem, |
| 1325 | .volcanic_islands, | 1280 | .volcanic_islands, |
| ... | @@ -1330,7 +1285,6 @@ pub const cpu = struct { | ... | @@ -1330,7 +1285,6 @@ pub const cpu = struct { |
| 1330 | .llvm_name = "kabini", | 1285 | .llvm_name = "kabini", |
| 1331 | .features = featureSet(&[_]Feature{ | 1286 | .features = featureSet(&[_]Feature{ |
| 1332 | .ldsbankcount16, | 1287 | .ldsbankcount16, |
| 1333 | .no_xnack_support, | | |
| 1334 | .sea_islands, | 1288 | .sea_islands, |
| 1335 | }), | 1289 | }), |
| 1336 | }; | 1290 | }; |
| ... | @@ -1339,7 +1293,6 @@ pub const cpu = struct { | ... | @@ -1339,7 +1293,6 @@ pub const cpu = struct { |
| 1339 | .llvm_name = "kaveri", | 1293 | .llvm_name = "kaveri", |
| 1340 | .features = featureSet(&[_]Feature{ | 1294 | .features = featureSet(&[_]Feature{ |
| 1341 | .ldsbankcount32, | 1295 | .ldsbankcount32, |
| 1342 | .no_xnack_support, | | |
| 1343 | .sea_islands, | 1296 | .sea_islands, |
| 1344 | }), | 1297 | }), |
| 1345 | }; | 1298 | }; |
| ... | @@ -1348,7 +1301,6 @@ pub const cpu = struct { | ... | @@ -1348,7 +1301,6 @@ pub const cpu = struct { |
| 1348 | .llvm_name = "mullins", | 1301 | .llvm_name = "mullins", |
| 1349 | .features = featureSet(&[_]Feature{ | 1302 | .features = featureSet(&[_]Feature{ |
| 1350 | .ldsbankcount16, | 1303 | .ldsbankcount16, |
| 1351 | .no_xnack_support, | | |
| 1352 | .sea_islands, | 1304 | .sea_islands, |
| 1353 | }), | 1305 | }), |
| 1354 | }; | 1306 | }; |
| ... | @@ -1356,8 +1308,6 @@ pub const cpu = struct { | ... | @@ -1356,8 +1308,6 @@ pub const cpu = struct { |
| 1356 | .name = "oland", | 1308 | .name = "oland", |
| 1357 | .llvm_name = "oland", | 1309 | .llvm_name = "oland", |
| 1358 | .features = featureSet(&[_]Feature{ | 1310 | .features = featureSet(&[_]Feature{ |
| 1359 | .ldsbankcount32, | | |
| 1360 | .no_xnack_support, | | |
| 1361 | .southern_islands, | 1311 | .southern_islands, |
| 1362 | }), | 1312 | }), |
| 1363 | }; | 1313 | }; |
| ... | @@ -1365,8 +1315,6 @@ pub const cpu = struct { | ... | @@ -1365,8 +1315,6 @@ pub const cpu = struct { |
| 1365 | .name = "pitcairn", | 1315 | .name = "pitcairn", |
| 1366 | .llvm_name = "pitcairn", | 1316 | .llvm_name = "pitcairn", |
| 1367 | .features = featureSet(&[_]Feature{ | 1317 | .features = featureSet(&[_]Feature{ |
| 1368 | .ldsbankcount32, | | |
| 1369 | .no_xnack_support, | | |
| 1370 | .southern_islands, | 1318 | .southern_islands, |
| 1371 | }), | 1319 | }), |
| 1372 | }; | 1320 | }; |
| ... | @@ -1375,7 +1323,6 @@ pub const cpu = struct { | ... | @@ -1375,7 +1323,6 @@ pub const cpu = struct { |
| 1375 | .llvm_name = "polaris10", | 1323 | .llvm_name = "polaris10", |
| 1376 | .features = featureSet(&[_]Feature{ | 1324 | .features = featureSet(&[_]Feature{ |
| 1377 | .ldsbankcount32, | 1325 | .ldsbankcount32, |
| 1378 | .no_xnack_support, | | |
| 1379 | .unpacked_d16_vmem, | 1326 | .unpacked_d16_vmem, |
| 1380 | .volcanic_islands, | 1327 | .volcanic_islands, |
| 1381 | }), | 1328 | }), |
| ... | @@ -1385,7 +1332,6 @@ pub const cpu = struct { | ... | @@ -1385,7 +1332,6 @@ pub const cpu = struct { |
| 1385 | .llvm_name = "polaris11", | 1332 | .llvm_name = "polaris11", |
| 1386 | .features = featureSet(&[_]Feature{ | 1333 | .features = featureSet(&[_]Feature{ |
| 1387 | .ldsbankcount32, | 1334 | .ldsbankcount32, |
| 1388 | .no_xnack_support, | | |
| 1389 | .unpacked_d16_vmem, | 1335 | .unpacked_d16_vmem, |
| 1390 | .volcanic_islands, | 1336 | .volcanic_islands, |
| 1391 | }), | 1337 | }), |
| ... | @@ -1398,7 +1344,7 @@ pub const cpu = struct { | ... | @@ -1398,7 +1344,7 @@ pub const cpu = struct { |
| 1398 | .image_store_d16_bug, | 1344 | .image_store_d16_bug, |
| 1399 | .ldsbankcount16, | 1345 | .ldsbankcount16, |
| 1400 | .volcanic_islands, | 1346 | .volcanic_islands, |
| 1401 | .xnack, | 1347 | .xnack_support, |
| 1402 | }), | 1348 | }), |
| 1403 | }; | 1349 | }; |
| 1404 | pub const tahiti = CpuModel{ | 1350 | pub const tahiti = CpuModel{ |
| ... | @@ -1407,8 +1353,6 @@ pub const cpu = struct { | ... | @@ -1407,8 +1353,6 @@ pub const cpu = struct { |
| 1407 | .features = featureSet(&[_]Feature{ | 1353 | .features = featureSet(&[_]Feature{ |
| 1408 | .fast_fmaf, | 1354 | .fast_fmaf, |
| 1409 | .half_rate_64_ops, | 1355 | .half_rate_64_ops, |
| 1410 | .ldsbankcount32, | | |
| 1411 | .no_xnack_support, | | |
| 1412 | .southern_islands, | 1356 | .southern_islands, |
| 1413 | }), | 1357 | }), |
| 1414 | }; | 1358 | }; |
| ... | @@ -1417,7 +1361,6 @@ pub const cpu = struct { | ... | @@ -1417,7 +1361,6 @@ pub const cpu = struct { |
| 1417 | .llvm_name = "tonga", | 1361 | .llvm_name = "tonga", |
| 1418 | .features = featureSet(&[_]Feature{ | 1362 | .features = featureSet(&[_]Feature{ |
| 1419 | .ldsbankcount32, | 1363 | .ldsbankcount32, |
| 1420 | .no_xnack_support, | | |
| 1421 | .sgpr_init_bug, | 1364 | .sgpr_init_bug, |
| 1422 | .unpacked_d16_vmem, | 1365 | .unpacked_d16_vmem, |
| 1423 | .volcanic_islands, | 1366 | .volcanic_islands, |
| ... | @@ -1428,7 +1371,6 @@ pub const cpu = struct { | ... | @@ -1428,7 +1371,6 @@ pub const cpu = struct { |
| 1428 | .llvm_name = "tongapro", | 1371 | .llvm_name = "tongapro", |
| 1429 | .features = featureSet(&[_]Feature{ | 1372 | .features = featureSet(&[_]Feature{ |
| 1430 | .ldsbankcount32, | 1373 | .ldsbankcount32, |
| 1431 | .no_xnack_support, | | |
| 1432 | .sgpr_init_bug, | 1374 | .sgpr_init_bug, |
| 1433 | .unpacked_d16_vmem, | 1375 | .unpacked_d16_vmem, |
| 1434 | .volcanic_islands, | 1376 | .volcanic_islands, |
| ... | @@ -1438,8 +1380,6 @@ pub const cpu = struct { | ... | @@ -1438,8 +1380,6 @@ pub const cpu = struct { |
| 1438 | .name = "verde", | 1380 | .name = "verde", |
| 1439 | .llvm_name = "verde", | 1381 | .llvm_name = "verde", |
| 1440 | .features = featureSet(&[_]Feature{ | 1382 | .features = featureSet(&[_]Feature{ |
| 1441 | .ldsbankcount32, | | |
| 1442 | .no_xnack_support, | | |
| 1443 | .southern_islands, | 1383 | .southern_islands, |
| 1444 | }), | 1384 | }), |
| 1445 | }; | 1385 | }; |