search for: movps

Displaying 4 results from an estimated 4 matches for "movps".

Did you mean: moves
2013 Aug 19
2
[LLVMdev] Duplicate loading of double constants
...the first one. Two xorps come from 2 FsFLD0SD generated by instruction selection and never eliminated by machine passes. My guess would be machine CSE should take care of it. A variation of this case without indirection shows the same problem, as well as not commuting addps, resulting in an extra movps: $ cat t.c double f(double p, int n) { double s = 0; if (n) s += p; return s; } $ clang -S -O3 t.c -o - ... f: # @f .cfi_startproc # BB#0: xorps %xmm1, %xmm1 testl %edi, %edi je .LBB0_2 # BB#1:...
2013 Feb 19
0
[LLVMdev] Is it a bug or am I missing something ?
..._0_of_source' , float 'elem_0_of_source', float 'elem_1_of_source', float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00> <<<<<<<<<<<<<<<<<<<<<<<< Umm, isn't the movss (not movps) instruction just loading the bottom lane of the XMM register, so that IF (presumably due to calling convention) we know xmm0 is already zeroed this is constructing what's desired? If you print the output, is it actually not what the IR leads you to expect? Cheers, Dave
2013 Feb 19
2
[LLVMdev] Is it a bug or am I missing something ?
Hi all, on following code: ; ModuleID = 'shufxbug.ll' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" target triple = "i386-pc-linux-gnu" define void @sample_test(<4 x float>* nocapture %source, <8 x float>* nocapture %dest) nounwind noinline { L.entry:
2013 Aug 20
0
[LLVMdev] Duplicate loading of double constants
...sFLD0SD > generated by > instruction selection and never eliminated by machine passes. My guess > would be > machine CSE should take care of it. > > A variation of this case without indirection shows the same problem, as > well as > not commuting addps, resulting in an extra movps: > > $ cat t.c > double f(double p, int n) > { > double s = 0; > if (n) > s += p; > return s; > } > $ clang -S -O3 t.c -o - > ... > f: # @f > .cfi_startproc > # BB#0: > xorps %xmm...