Displaying 4 results from an estimated 4 matches for "movp".
Did you mean:
movl
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 %xm...