‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, November 27, 2019 3:19 AM, Richard Biener 
<richard.guent...@gmail.com> wrote:

...

> > Questions:
> >
> > 1.  Should we aim to provide a vectorized version of __builtin_cexpi? If 
> > so, it would have
> >     to be a PPC64-only vector __builtin-cexpi, right?
> >
> > 2.  Or should we require that vectorized sincos be available only when 
> > -fno-builtin-sincos flag
> >     is used in compilation?
> >
> >
> > I don't think we need to fix both types of vectorization failures in order 
> > to obtain sincos
> > vectorization.
>
> I think we should have a vectorized cexpi since that's having a sane
> ABI. The complex
> return type of cexpi makes it a little awkward for the vectorizer but
> handling this should
> be manageable. It's a bit difficult to expose complex types to the
> vectorizer since
> most cases are lowered early.
>

I'm trying to identify the source code which needs modification but I need help 
proceeding.

I am comparing two compilations: The first is a simple file with a call to sin 
in a loop.
Vectorization succeeds. The second is an almost identical file but with a call 
to sincos
in the loop. Vectorization fails.

In gdb, the earliest code location where the two compilations differ is in 
function
number_of_iterations_exit_assumptions in file tree-ssa-loop-niter.c. Line

op0 = gimple_cond_lhs (stmt);

returns a tree which when analyzed in function instantiate_scev_r (in file 
tree-scalar-evolution.c)
results in the first branch of the switch being taken for sincos. For sin, the 
2nd branch of the
switch is taken.

How can I correlate stmt in the source line above to the relevant line in any 
dump among those created
using debugging dump option -fdump-tree-all?

Thanks.
Bert.

Reply via email to