diff --git a/llvm/test/CodeGen/X86/avx2-nontemporal.ll b/llvm/test/CodeGen/X86/avx2-nontemporal.ll index 4d28a979712a..544c096c52df 100644 --- a/llvm/test/CodeGen/X86/avx2-nontemporal.ll +++ b/llvm/test/CodeGen/X86/avx2-nontemporal.ll @@ -1,21 +1,18 @@ ; RUN: llc < %s -march=x86 -mattr=+avx2 | FileCheck %s -define void @f(<8 x float> %A, i8* %B, <4 x double> %C, i32 %D, <4 x i64> %E) { -; CHECK: vmovntps +define void @f(<8 x float> %A, i8* %B, <4 x double> %C, <4 x i64> %E) { +; CHECK: vmovntps %y %cast = bitcast i8* %B to <8 x float>* %A2 = fadd <8 x float> %A, store <8 x float> %A2, <8 x float>* %cast, align 16, !nontemporal !0 -; CHECK: vmovntdq +; CHECK: vmovntdq %y %cast1 = bitcast i8* %B to <4 x i64>* %E2 = add <4 x i64> %E, store <4 x i64> %E2, <4 x i64>* %cast1, align 16, !nontemporal !0 -; CHECK: vmovntpd +; CHECK: vmovntpd %y %cast2 = bitcast i8* %B to <4 x double>* %C2 = fadd <4 x double> %C, store <4 x double> %C2, <4 x double>* %cast2, align 16, !nontemporal !0 -; CHECK: movnti - %cast3 = bitcast i8* %B to i32* - store i32 %D, i32* %cast3, align 16, !nontemporal !0 ret void } diff --git a/llvm/test/CodeGen/X86/nontemporal.ll b/llvm/test/CodeGen/X86/nontemporal.ll index f9385df36421..9a2f23596f79 100644 --- a/llvm/test/CodeGen/X86/nontemporal.ll +++ b/llvm/test/CodeGen/X86/nontemporal.ll @@ -1,6 +1,6 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s +; RUN: llc < %s -mtriple x86_64-unknown-unknown | FileCheck %s -define void @f(<4 x float> %A, i8* %B, <2 x double> %C, i32 %D, <2 x i64> %E) { +define void @f(<4 x float> %A, i8* %B, <2 x double> %C, i32 %D, <2 x i64> %E, i64 %F) { ; CHECK: movntps %cast = bitcast i8* %B to <4 x float>* %A2 = fadd <4 x float> %A, @@ -13,9 +13,12 @@ define void @f(<4 x float> %A, i8* %B, <2 x double> %C, i32 %D, <2 x i64> %E) { %cast2 = bitcast i8* %B to <2 x double>* %C2 = fadd <2 x double> %C, store <2 x double> %C2, <2 x double>* %cast2, align 16, !nontemporal !0 -; CHECK: movnti +; CHECK: movntil %cast3 = bitcast i8* %B to i32* - store i32 %D, i32* %cast3, align 16, !nontemporal !0 + store i32 %D, i32* %cast3, align 1, !nontemporal !0 +; CHECK: movntiq + %cast4 = bitcast i8* %B to i64* + store i64 %F, i64* %cast4, align 1, !nontemporal !0 ret void }