| ... | @@ -358,9 +358,11 @@ fn detectNativeFeatures(cpu: *Target.Cpu, os_tag: Target.Os.Tag) void { | ... | @@ -358,9 +358,11 @@ fn detectNativeFeatures(cpu: *Target.Cpu, os_tag: Target.Os.Tag) void { |
| 358 | | 358 | |
| 359 | // AMD uses a different bit for prefetchi. | 359 | // AMD uses a different bit for prefetchi. |
| 360 | setFeature(cpu, .prefetchi, bit(leaf.eax, 20)); | 360 | setFeature(cpu, .prefetchi, bit(leaf.eax, 20)); |
| | 361 | setFeature(cpu, .avx512bmm, bit(leaf.eax, 23) and has_avx512_save); |
| 361 | } else { | 362 | } else { |
| 362 | for ([_]Target.x86.Feature{ | 363 | for ([_]Target.x86.Feature{ |
| 363 | .prefetchi, | 364 | .prefetchi, |
| | 365 | .avx512bmm, |
| 364 | }) |feat| { | 366 | }) |feat| { |
| 365 | setFeature(cpu, feat, false); | 367 | setFeature(cpu, feat, false); |
| 366 | } | 368 | } |