xref: /llvm-project/llvm/test/CodeGen/X86/2010-02-11-NonTemporal.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: llc < %s | FileCheck %s
2; CHECK: movnt
3target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
4target triple = "x86_64-unknown-linux-gnu"
5
6!0 = !{ i32 1 }
7
8define void @sub_(ptr noalias %n) {
9"file movnt.f90, line 2, bb1":
10	%n1 = alloca ptr, align 8
11	%i = alloca i32, align 4
12	%"$LCS_0" = alloca i64, align 8
13	%"$LCS_S2" = alloca <2 x double>, align 16
14	%r9 = load <2 x double>, ptr %"$LCS_S2", align 8
15	%r10 = load i64, ptr %"$LCS_0", align 8
16	%r11 = inttoptr i64 %r10 to ptr
17	store <2 x double> %r9, ptr %r11, align 16, !nontemporal !0
18	br label %"file movnt.f90, line 18, bb5"
19
20"file movnt.f90, line 18, bb5":
21	ret void
22}
23