| ... | ... | @@ -24,10 +24,8 @@ pub const Feature = enum { |
| 24 | 24 | amx_tile, |
| 25 | 25 | amx_transpose, |
| 26 | 26 | avx, |
| 27 | | avx10_1_256, |
| 28 | | avx10_1_512, |
| 29 | | avx10_2_256, |
| 30 | | avx10_2_512, |
| 27 | avx10_1, |
| 28 | avx10_2, |
| 31 | 29 | avx2, |
| 32 | 30 | avx512bf16, |
| 33 | 31 | avx512bitalg, |
| ... | ... | @@ -340,9 +338,9 @@ pub const all_features = blk: { |
| 340 | 338 | .sse4_2, |
| 341 | 339 | }), |
| 342 | 340 | }; |
| 343 | | result[@intFromEnum(Feature.avx10_1_256)] = .{ |
| 344 | | .llvm_name = "avx10.1-256", |
| 345 | | .description = "Support AVX10.1 up to 256-bit instruction", |
| 341 | result[@intFromEnum(Feature.avx10_1)] = .{ |
| 342 | .llvm_name = "avx10.1-512", |
| 343 | .description = "Support AVX10.1 up to 512-bit instruction", |
| 346 | 344 | .dependencies = featureSet(&[_]Feature{ |
| 347 | 345 | .avx512bf16, |
| 348 | 346 | .avx512bitalg, |
| ... | ... | @@ -357,27 +355,11 @@ pub const all_features = blk: { |
| 357 | 355 | .avx512vpopcntdq, |
| 358 | 356 | }), |
| 359 | 357 | }; |
| 360 | | result[@intFromEnum(Feature.avx10_1_512)] = .{ |
| 361 | | .llvm_name = "avx10.1-512", |
| 362 | | .description = "Support AVX10.1 up to 512-bit instruction", |
| 363 | | .dependencies = featureSet(&[_]Feature{ |
| 364 | | .avx10_1_256, |
| 365 | | .evex512, |
| 366 | | }), |
| 367 | | }; |
| 368 | | result[@intFromEnum(Feature.avx10_2_256)] = .{ |
| 369 | | .llvm_name = "avx10.2-256", |
| 370 | | .description = "Support AVX10.2 up to 256-bit instruction", |
| 371 | | .dependencies = featureSet(&[_]Feature{ |
| 372 | | .avx10_1_256, |
| 373 | | }), |
| 374 | | }; |
| 375 | | result[@intFromEnum(Feature.avx10_2_512)] = .{ |
| 358 | result[@intFromEnum(Feature.avx10_2)] = .{ |
| 376 | 359 | .llvm_name = "avx10.2-512", |
| 377 | 360 | .description = "Support AVX10.2 up to 512-bit instruction", |
| 378 | 361 | .dependencies = featureSet(&[_]Feature{ |
| 379 | | .avx10_1_512, |
| 380 | | .avx10_2_256, |
| 362 | .avx10_1, |
| 381 | 363 | }), |
| 382 | 364 | }; |
| 383 | 365 | result[@intFromEnum(Feature.avx2)] = .{ |
| ... | ... | @@ -434,6 +416,7 @@ pub const all_features = blk: { |
| 434 | 416 | .description = "Enable AVX-512 instructions", |
| 435 | 417 | .dependencies = featureSet(&[_]Feature{ |
| 436 | 418 | .avx2, |
| 419 | .evex512, |
| 437 | 420 | .f16c, |
| 438 | 421 | .fma, |
| 439 | 422 | }), |
| ... | ... | @@ -2192,7 +2175,6 @@ pub const cpu = struct { |
| 2192 | 2175 | .cmov, |
| 2193 | 2176 | .cx16, |
| 2194 | 2177 | .ermsb, |
| 2195 | | .evex512, |
| 2196 | 2178 | .fast_15bytenop, |
| 2197 | 2179 | .fast_gather, |
| 2198 | 2180 | .fast_scalar_fsqrt, |
| ... | ... | @@ -2252,7 +2234,6 @@ pub const cpu = struct { |
| 2252 | 2234 | .cmov, |
| 2253 | 2235 | .cx16, |
| 2254 | 2236 | .ermsb, |
| 2255 | | .evex512, |
| 2256 | 2237 | .false_deps_popcnt, |
| 2257 | 2238 | .fast_15bytenop, |
| 2258 | 2239 | .fast_gather, |
| ... | ... | @@ -2392,7 +2373,6 @@ pub const cpu = struct { |
| 2392 | 2373 | .cmov, |
| 2393 | 2374 | .cx16, |
| 2394 | 2375 | .ermsb, |
| 2395 | | .evex512, |
| 2396 | 2376 | .false_deps_popcnt, |
| 2397 | 2377 | .fast_15bytenop, |
| 2398 | 2378 | .fast_gather, |
| ... | ... | @@ -2485,7 +2465,7 @@ pub const cpu = struct { |
| 2485 | 2465 | .amx_movrs, |
| 2486 | 2466 | .amx_tf32, |
| 2487 | 2467 | .amx_transpose, |
| 2488 | | .avx10_2_512, |
| 2468 | .avx10_2, |
| 2489 | 2469 | .avxifma, |
| 2490 | 2470 | .avxneconvert, |
| 2491 | 2471 | .avxvnni, |
| ... | ... | @@ -2601,7 +2581,6 @@ pub const cpu = struct { |
| 2601 | 2581 | .cx16, |
| 2602 | 2582 | .enqcmd, |
| 2603 | 2583 | .ermsb, |
| 2604 | | .evex512, |
| 2605 | 2584 | .false_deps_getmant, |
| 2606 | 2585 | .false_deps_mulc, |
| 2607 | 2586 | .false_deps_mullq, |
| ... | ... | @@ -2914,7 +2893,6 @@ pub const cpu = struct { |
| 2914 | 2893 | .cx16, |
| 2915 | 2894 | .enqcmd, |
| 2916 | 2895 | .ermsb, |
| 2917 | | .evex512, |
| 2918 | 2896 | .false_deps_getmant, |
| 2919 | 2897 | .false_deps_mulc, |
| 2920 | 2898 | .false_deps_mullq, |
| ... | ... | @@ -3004,7 +2982,6 @@ pub const cpu = struct { |
| 3004 | 2982 | .cx16, |
| 3005 | 2983 | .enqcmd, |
| 3006 | 2984 | .ermsb, |
| 3007 | | .evex512, |
| 3008 | 2985 | .false_deps_getmant, |
| 3009 | 2986 | .false_deps_mulc, |
| 3010 | 2987 | .false_deps_mullq, |
| ... | ... | @@ -3167,7 +3144,6 @@ pub const cpu = struct { |
| 3167 | 3144 | .cmov, |
| 3168 | 3145 | .cx16, |
| 3169 | 3146 | .ermsb, |
| 3170 | | .evex512, |
| 3171 | 3147 | .fast_15bytenop, |
| 3172 | 3148 | .fast_gather, |
| 3173 | 3149 | .fast_scalar_fsqrt, |
| ... | ... | @@ -3231,7 +3207,6 @@ pub const cpu = struct { |
| 3231 | 3207 | .cmov, |
| 3232 | 3208 | .cx16, |
| 3233 | 3209 | .ermsb, |
| 3234 | | .evex512, |
| 3235 | 3210 | .fast_15bytenop, |
| 3236 | 3211 | .fast_gather, |
| 3237 | 3212 | .fast_scalar_fsqrt, |
| ... | ... | @@ -3394,7 +3369,6 @@ pub const cpu = struct { |
| 3394 | 3369 | .bmi2, |
| 3395 | 3370 | .cmov, |
| 3396 | 3371 | .cx16, |
| 3397 | | .evex512, |
| 3398 | 3372 | .fast_gather, |
| 3399 | 3373 | .fast_imm16, |
| 3400 | 3374 | .fast_movbe, |
| ... | ... | @@ -3436,7 +3410,6 @@ pub const cpu = struct { |
| 3436 | 3410 | .bmi2, |
| 3437 | 3411 | .cmov, |
| 3438 | 3412 | .cx16, |
| 3439 | | .evex512, |
| 3440 | 3413 | .fast_gather, |
| 3441 | 3414 | .fast_imm16, |
| 3442 | 3415 | .fast_movbe, |
| ... | ... | @@ -4003,7 +3976,6 @@ pub const cpu = struct { |
| 4003 | 3976 | .cmov, |
| 4004 | 3977 | .cx16, |
| 4005 | 3978 | .ermsb, |
| 4006 | | .evex512, |
| 4007 | 3979 | .fast_15bytenop, |
| 4008 | 3980 | .fast_gather, |
| 4009 | 3981 | .fast_scalar_fsqrt, |
| ... | ... | @@ -4104,7 +4076,6 @@ pub const cpu = struct { |
| 4104 | 4076 | .cx16, |
| 4105 | 4077 | .enqcmd, |
| 4106 | 4078 | .ermsb, |
| 4107 | | .evex512, |
| 4108 | 4079 | .false_deps_getmant, |
| 4109 | 4080 | .false_deps_mulc, |
| 4110 | 4081 | .false_deps_mullq, |
| ... | ... | @@ -4277,7 +4248,6 @@ pub const cpu = struct { |
| 4277 | 4248 | .cmov, |
| 4278 | 4249 | .cx16, |
| 4279 | 4250 | .ermsb, |
| 4280 | | .evex512, |
| 4281 | 4251 | .false_deps_popcnt, |
| 4282 | 4252 | .fast_15bytenop, |
| 4283 | 4253 | .fast_gather, |
| ... | ... | @@ -4390,7 +4360,6 @@ pub const cpu = struct { |
| 4390 | 4360 | .cmov, |
| 4391 | 4361 | .cx16, |
| 4392 | 4362 | .ermsb, |
| 4393 | | .evex512, |
| 4394 | 4363 | .false_deps_popcnt, |
| 4395 | 4364 | .fast_15bytenop, |
| 4396 | 4365 | .fast_gather, |
| ... | ... | @@ -4485,7 +4454,6 @@ pub const cpu = struct { |
| 4485 | 4454 | .cmov, |
| 4486 | 4455 | .cx16, |
| 4487 | 4456 | .ermsb, |
| 4488 | | .evex512, |
| 4489 | 4457 | .fast_15bytenop, |
| 4490 | 4458 | .fast_gather, |
| 4491 | 4459 | .fast_scalar_fsqrt, |
| ... | ... | @@ -4706,7 +4674,6 @@ pub const cpu = struct { |
| 4706 | 4674 | .bmi2, |
| 4707 | 4675 | .cmov, |
| 4708 | 4676 | .cx16, |
| 4709 | | .evex512, |
| 4710 | 4677 | .false_deps_popcnt, |
| 4711 | 4678 | .fast_15bytenop, |
| 4712 | 4679 | .fast_gather, |
| ... | ... | @@ -4943,7 +4910,6 @@ pub const cpu = struct { |
| 4943 | 4910 | .clzero, |
| 4944 | 4911 | .cmov, |
| 4945 | 4912 | .cx16, |
| 4946 | | .evex512, |
| 4947 | 4913 | .fast_15bytenop, |
| 4948 | 4914 | .fast_bextr, |
| 4949 | 4915 | .fast_dpwssd, |
| ... | ... | @@ -5017,7 +4983,6 @@ pub const cpu = struct { |
| 5017 | 4983 | .clzero, |
| 5018 | 4984 | .cmov, |
| 5019 | 4985 | .cx16, |
| 5020 | | .evex512, |
| 5021 | 4986 | .fast_15bytenop, |
| 5022 | 4987 | .fast_bextr, |
| 5023 | 4988 | .fast_dpwssd, |