[PATCH] D15741: [X86] Avoid folding scalar loads into unary sse intrinsics
Sanjay Patel via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 29 10:10:09 PST 2015
spatel added a comment.
> This is consistent with the patterns we already have for the fp/int converts...
We still need to fix converts?
#include <xmmintrin.h>
__m128 foo(__m128 x, int *y) { return _mm_cvtsi32_ss(x, *y); }
$ ./clang -O1 ss2si.c -S -o -
cvtsi2ssl (%rdi), %xmm1 <--- false dependency on xmm1?
movss %xmm1, %xmm0
================
Comment at: lib/Target/X86/X86InstrSSE.td:3392
@@ +3391,3 @@
+ // We don't want to fold scalar loads into these instructions unless optimizing
+ // for size. This is because the folded instruction will have a partial register
+ // update, while the unfolded sequence will not, e.g.
----------------
80-cols.
================
Comment at: lib/Target/X86/X86InstrSSE.td:3433
@@ +3432,3 @@
+ // We don't want to fold scalar loads into these instructions unless optimizing
+ // for size. This is because the folded instruction will have a partial register
+ // update, while the unfolded sequence will not, e.g.
----------------
80-cols.
http://reviews.llvm.org/D15741
More information about the llvm-commits
mailing list