<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW " title="NEW --- - ARM64 backend ignores non-temporal hints" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D24086&d=AwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=7VALDfarCJYtV41OuTde8rrjxAmAWXudKJnoxH7FoUI&s=BIEaQXXjBjU_rvWcub8mmkA1IKnque-GAr241W0NR3U&e=">24086</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ARM64 backend ignores non-temporal hints
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: AArch64
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>michael.v.zolotukhin@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre><span class="quote">> cat test.ll</span >
define void @test_zero_v8f32(<8 x float>* %dst) {
  store <8 x float> zeroinitializer, <8 x float>* %dst, align 16, !nontemporal
!1
  ret void
}

!1 = !{i32 1}

<span class="quote">> llc -mtriple=arm64-unknown-unknown < test.ll</span >
        .text
        .file   "<stdin>"
        .globl  test_zero_v8f32
        .align  2
        .type   test_zero_v8f32,@function
test_zero_v8f32:                        // @test_zero_v8f32
        .cfi_startproc
// BB#0:
        movi    v0.2d, #0000000000000000
        stp      q0, q0, [x0]
        ret
.Lfunc_end0:
        .size   test_zero_v8f32, .Lfunc_end0-test_zero_v8f32
        .cfi_endproc


        .section        ".note.GNU-stack","",@progbits

I expected to see STNP instruction here.


FWIW, x86 backend takes the hint into account:
<span class="quote">> llc -mtriple=x86_64-unknown-unknown < test.ll</span >
        .text
        .file   "<stdin>"
        .globl  test_zero_v8f32
        .align  16, 0x90
        .type   test_zero_v8f32,@function
test_zero_v8f32:                        # @test_zero_v8f32
        .cfi_startproc
# BB#0:
        xorps   %xmm0, %xmm0
        movntps %xmm0, 16(%rdi)
        movntps %xmm0, (%rdi)
        retq
.Lfunc_end0:
        .size   test_zero_v8f32, .Lfunc_end0-test_zero_v8f32
        .cfi_endproc


        .section        ".note.GNU-stack","",@progbits</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>