Stackmap shadows should consider call returns a branch target.
[oota-llvm.git] / test / CodeGen / X86 / nontemporal-2.ll
1 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=corei7 | FileCheck %s -check-prefix=CHECK -check-prefix=SSE
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=corei7-avx | FileCheck %s -check-prefix=CHECK -check-prefix=AVX
3
4
5 ; Make sure that we generate non-temporal stores for the test cases below.
6
7 define void @test1(<4 x float>* %dst) {
8 ; CHECK-LABEL: test1:
9 ; SSE: movntps
10 ; AVX: vmovntps
11   store <4 x float> zeroinitializer, <4 x float>* %dst, align 16, !nontemporal !1
12   ret void
13 }
14
15 define void @test2(<4 x i32>* %dst) {
16 ; CHECK-LABEL: test2:
17 ; SSE: movntps
18 ; AVX: vmovntps
19   store <4 x i32> zeroinitializer, <4 x i32>* %dst, align 16, !nontemporal !1
20   ret void
21 }
22
23 define void @test3(<2 x double>* %dst) {
24 ; CHECK-LABEL: test3:
25 ; SSE: movntps
26 ; AVX: vmovntps
27   store <2 x double> zeroinitializer, <2 x double>* %dst, align 16, !nontemporal !1
28   ret void
29 }
30
31 !1 = metadata !{i32 1}