From f8c76370274e4367396d3ed73023225ccd4beace Mon Sep 17 00:00:00 2001 From: Tomasz Krupa Date: Thu, 7 Jun 2018 08:48:45 +0000 Subject: [X86] Block UndefRegUpdate Summary: Prevent folding of operations with memory loads when one of the sources has undefined register update. Reviewers: craig.topper Subscribers: llvm-commits, mike.dvoretsky, ashlykov Differential Revision: https://reviews.llvm.org/D47621 llvm-svn: 334175 --- llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll') diff --git a/llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll b/llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll index 509a5cfe931..6cca2101456 100644 --- a/llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll +++ b/llvm/test/CodeGen/X86/fast-isel-int-float-conversion-x86-64.ll @@ -27,7 +27,8 @@ define double @long_to_double_rm(i64* %a) { ; ; AVX-LABEL: long_to_double_rm: ; AVX: # %bb.0: # %entry -; AVX-NEXT: vcvtsi2sdq (%rdi), %xmm0, %xmm0 +; AVX-NEXT: movq (%rdi), %rax +; AVX-NEXT: vcvtsi2sdq %rax, %xmm0, %xmm0 ; AVX-NEXT: retq entry: %0 = load i64, i64* %a @@ -75,7 +76,8 @@ define float @long_to_float_rm(i64* %a) { ; ; AVX-LABEL: long_to_float_rm: ; AVX: # %bb.0: # %entry -; AVX-NEXT: vcvtsi2ssq (%rdi), %xmm0, %xmm0 +; AVX-NEXT: movq (%rdi), %rax +; AVX-NEXT: vcvtsi2ssq %rax, %xmm0, %xmm0 ; AVX-NEXT: retq entry: %0 = load i64, i64* %a -- cgit v1.2.3