<p dir="auto">The detection seems incorrect? (I think 9600KF has native FMA support?)<br>
On 1.7.0</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; versioninfo()
Julia Version 1.7.0
Commit 3bf9d17731 (2021-11-30 12:12 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-9600KF CPU @ 3.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
Environment:
  JULIA_CUDA_VERSION = 11.4.0

julia&gt; @code_native fma(1.0,1.0,1.0)
        .text
; ┌ @ floatfuncs.jl:347 within `fma`
        pushq   %rbp
        movq    %rsp, %rbp
; │┌ @ floatfuncs.jl:336 within `fma_llvm`
        vfmadd213sd     %xmm2, %xmm1, %xmm0     # xmm0 = (xmm1 * xmm0) + xmm2
; │└
        popq    %rbp
        retq
        nopl    (%rax,%rax)"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-c1">versioninfo</span>()
Julia Version <span class="pl-c1">1.7</span>.<span class="pl-c1">0</span>
Commit <span class="pl-c1">3</span>bf9d17731 (<span class="pl-c1">2021</span><span class="pl-k">-</span><span class="pl-c1">11</span><span class="pl-k">-</span><span class="pl-c1">30</span> <span class="pl-c1">12</span><span class="pl-k">:</span><span class="pl-c1">12</span> UTC)
Platform Info<span class="pl-k">:</span>
  OS<span class="pl-k">:</span> Windows (x86_64<span class="pl-k">-</span>w64<span class="pl-k">-</span>mingw32)
  CPU<span class="pl-k">:</span> <span class="pl-c1">Intel</span>(R) <span class="pl-c1">Core</span>(TM) i5<span class="pl-k">-</span><span class="pl-c1">9600</span>KF CPU @ <span class="pl-c1">3.70</span>GHz
  WORD_SIZE<span class="pl-k">:</span> <span class="pl-c1">64</span>
  LIBM<span class="pl-k">:</span> libopenlibm
  LLVM<span class="pl-k">:</span> libLLVM<span class="pl-k">-</span><span class="pl-c1">12.0</span>.<span class="pl-c1">1</span> (ORCJIT, skylake)
Environment<span class="pl-k">:</span>
  JULIA_CUDA_VERSION <span class="pl-k">=</span> <span class="pl-c1">11.4</span>.<span class="pl-c1">0</span>

julia<span class="pl-k">&gt;</span> <span class="pl-c1">@code_native</span> <span class="pl-c1">fma</span>(<span class="pl-c1">1.0</span>,<span class="pl-c1">1.0</span>,<span class="pl-c1">1.0</span>)
        <span class="pl-k">.</span>text
; ┌ @ floatfuncs<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">347</span> within <span class="pl-s"><span class="pl-pds">`</span>fma<span class="pl-pds">`</span></span>
        pushq   <span class="pl-k">%</span>rbp
        movq    <span class="pl-k">%</span>rsp, <span class="pl-k">%</span>rbp
; │┌ @ floatfuncs<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">336</span> within <span class="pl-s"><span class="pl-pds">`</span>fma_llvm<span class="pl-pds">`</span></span>
        vfmadd213sd     <span class="pl-k">%</span>xmm2, <span class="pl-k">%</span>xmm1, <span class="pl-k">%</span>xmm0     <span class="pl-c"><span class="pl-c">#</span> xmm0 = (xmm1 * xmm0) + xmm2</span>
; │└
        popq    <span class="pl-k">%</span>rbp
        retq
        nopl    (<span class="pl-k">%</span>rax,<span class="pl-k">%</span>rax)</pre></div>
<p dir="auto">on master</p>
<div class="highlight highlight-source-julia notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="julia&gt; versioninfo()
Julia Version 1.8.0-DEV.1090
Commit d16f4806e9 (2021-12-01 10:54 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-9600KF CPU @ 3.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
Environment:
  JULIA_CUDA_VERSION = 11.4.0

julia&gt; @code_native fma(1.0,1.0,1.0)
        .text
        .file   &quot;fma&quot;
        .globl  julia_fma_552                   # -- Begin function julia_fma_552
        .p2align        4, 0x90
        .type   julia_fma_552,@function
julia_fma_552:                          # @julia_fma_552
; ┌ @ floatfuncs.jl:416 within `fma`
        .cfi_startproc
# %bb.0:                                # %L5
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset %rbp, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register %rbp
        subq    $32, %rsp
        movabsq $j_fma_emulated_554, %rax
        callq   *%rax
        addq    $32, %rsp
        popq    %rbp
        retq
.Lfunc_end0:
        .size   julia_fma_552, .Lfunc_end0-julia_fma_552
        .cfi_endproc
; └
                                        # -- End function
        .section        &quot;.note.GNU-stack&quot;,&quot;&quot;,@progbits"><pre class="notranslate">julia<span class="pl-k">&gt;</span> <span class="pl-c1">versioninfo</span>()
Julia Version <span class="pl-c1">1.8</span>.<span class="pl-c1">0</span><span class="pl-k">-</span>DEV.<span class="pl-c1">1090</span>
Commit d16f4806e9 (<span class="pl-c1">2021</span><span class="pl-k">-</span><span class="pl-c1">12</span><span class="pl-k">-</span><span class="pl-c1">01</span> <span class="pl-c1">10</span><span class="pl-k">:</span><span class="pl-c1">54</span> UTC)
Platform Info<span class="pl-k">:</span>
  OS<span class="pl-k">:</span> Windows (x86_64<span class="pl-k">-</span>w64<span class="pl-k">-</span>mingw32)
  CPU<span class="pl-k">:</span> <span class="pl-c1">Intel</span>(R) <span class="pl-c1">Core</span>(TM) i5<span class="pl-k">-</span><span class="pl-c1">9600</span>KF CPU @ <span class="pl-c1">3.70</span>GHz
  WORD_SIZE<span class="pl-k">:</span> <span class="pl-c1">64</span>
  LIBM<span class="pl-k">:</span> libopenlibm
  LLVM<span class="pl-k">:</span> libLLVM<span class="pl-k">-</span><span class="pl-c1">12.0</span>.<span class="pl-c1">1</span> (ORCJIT, skylake)
Environment<span class="pl-k">:</span>
  JULIA_CUDA_VERSION <span class="pl-k">=</span> <span class="pl-c1">11.4</span>.<span class="pl-c1">0</span>

julia<span class="pl-k">&gt;</span> <span class="pl-c1">@code_native</span> <span class="pl-c1">fma</span>(<span class="pl-c1">1.0</span>,<span class="pl-c1">1.0</span>,<span class="pl-c1">1.0</span>)
        <span class="pl-k">.</span>text
        <span class="pl-k">.</span>file   <span class="pl-s"><span class="pl-pds">"</span>fma<span class="pl-pds">"</span></span>
        <span class="pl-k">.</span>globl  julia_fma_552                   <span class="pl-c"><span class="pl-c">#</span> -- Begin function julia_fma_552</span>
        <span class="pl-k">.</span>p2align        <span class="pl-c1">4</span>, <span class="pl-c1">0x90</span>
        <span class="pl-k">.</span>type   julia_fma_552,<span class="pl-c1">@function</span>
julia_fma_552<span class="pl-k">:</span>                          <span class="pl-c"><span class="pl-c">#</span> @julia_fma_552</span>
; ┌ @ floatfuncs<span class="pl-k">.</span>jl<span class="pl-k">:</span><span class="pl-c1">416</span> within <span class="pl-s"><span class="pl-pds">`</span>fma<span class="pl-pds">`</span></span>
        <span class="pl-k">.</span>cfi_startproc
<span class="pl-c"><span class="pl-c">#</span> %bb.0:                                # %L5</span>
        pushq   <span class="pl-k">%</span>rbp
        <span class="pl-k">.</span>cfi_def_cfa_offset <span class="pl-c1">16</span>
        <span class="pl-k">.</span>cfi_offset <span class="pl-k">%</span>rbp, <span class="pl-k">-</span><span class="pl-c1">16</span>
        movq    <span class="pl-k">%</span>rsp, <span class="pl-k">%</span>rbp
        <span class="pl-k">.</span>cfi_def_cfa_register <span class="pl-k">%</span>rbp
        subq    <span class="pl-k">$</span>32, <span class="pl-k">%</span>rsp
        movabsq <span class="pl-k">$</span>j_fma_emulated_554, <span class="pl-k">%</span>rax
        callq   <span class="pl-k">*%</span>rax
        addq    <span class="pl-k">$</span>32, <span class="pl-k">%</span>rsp
        popq    <span class="pl-k">%</span>rbp
        retq
<span class="pl-k">.</span>Lfunc_end0<span class="pl-k">:</span>
        <span class="pl-k">.</span>size   julia_fma_552, <span class="pl-k">.</span>Lfunc_end0<span class="pl-k">-</span>julia_fma_552
        <span class="pl-k">.</span>cfi_endproc
; └
                                        <span class="pl-c"><span class="pl-c">#</span> -- End function</span>
        <span class="pl-k">.</span>section        <span class="pl-s"><span class="pl-pds">"</span>.note.GNU-stack<span class="pl-pds">"</span></span>,<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>,<span class="pl-c1">@progbits</span></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="julia&gt; func=fma;
julia&gt; @test func(-1.9369631f13, 2.1513551f-7, -1.7354427f-24) == -4.1670958f6
Test Passed

julia&gt; for func in (fma, fma)
           @test func(-1.9369631f13, 2.1513551f-7, -1.7354427f-24) == -4.1670958f6
       end
Test Failed at REPL[37]:2
  Expression: func(-1.9369631f13, 2.1513551f-7, -1.7354427f-24) == -4.1670958f6 
   Evaluated: -4.1670955f6 == -4.1670958f6
ERROR: There was an error during testing "><pre class="notranslate"><code class="notranslate">julia&gt; func=fma;
julia&gt; @test func(-1.9369631f13, 2.1513551f-7, -1.7354427f-24) == -4.1670958f6
Test Passed

julia&gt; for func in (fma, fma)
           @test func(-1.9369631f13, 2.1513551f-7, -1.7354427f-24) == -4.1670958f6
       end
Test Failed at REPL[37]:2
  Expression: func(-1.9369631f13, 2.1513551f-7, -1.7354427f-24) == -4.1670958f6 
   Evaluated: -4.1670955f6 == -4.1670958f6
ERROR: There was an error during testing 
</code></pre></div>
<p dir="auto">I'm really not sure how this is possible (This is the case both on 1.6 and master)</p>