On Wed, Dec 4, 2019 at 9:53 PM GT <tng...@protonmail.com> wrote: > > ‐‐‐‐‐‐‐ 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?
grep ;) Can you provide a testcase with a simd attribute annotated cexpi that one can play with? Richard. > > Thanks. > Bert.