On 11/3/2017 3:02 AM, Mike Parker wrote:
For clarity, where the changeling says that GDC & LDC use auto-vectorization, that's actually happening with the array operations and core.simd is not required, correct?

I think that GDC and LDC do do auto-vectorization, but I haven't verified it 
myself.

Auto-vectorization is a fundamentally bizarre feature. It takes low level code and reverse-engineers it back into a higher level construct, and then proceeds to generate code for that higher level construct.

Everything else a compiler does is start from a high level construct and then generate low level code.

The trouble with AV is whether it succeeds or not depends on peculiarities (and I mean peculiarities) of the particular vector instruction set target. It can decided to not vectorize based on seemingly trivial and innocuous changes to the loop. The only way to tell is to benchmark it or look at the object file - methods that are unreliable (benchmarking) or do not scale (manually looking at the object file).

What's needed is a language feature that is straightforwardly vectorizable. That would be D's array operations.
  • Release D 2.077.0 Martin Nowak via Digitalmars-d-announce
    • Re: Release D 2... Nick Sabalausky (Abscissa) via Digitalmars-d-announce
    • Re: Release D 2... Daniel Kozak via Digitalmars-d-announce
      • Re: Release... Walter Bright via Digitalmars-d-announce
        • Re: Rel... Mike Parker via Digitalmars-d-announce
          • Re:... Mike Parker via Digitalmars-d-announce
            • ... Joakim via Digitalmars-d-announce
              • ... Mike Parker via Digitalmars-d-announce
          • Re:... Joakim via Digitalmars-d-announce
          • Re:... Walter Bright via Digitalmars-d-announce
            • ... Dmitry Olshansky via Digitalmars-d-announce
              • ... Walter Bright via Digitalmars-d-announce
                • ... Dmitry Olshansky via Digitalmars-d-announce
      • Re: Release... Martin Nowak via Digitalmars-d-announce
    • Re: Release D 2... ANtlord via Digitalmars-d-announce
    • Re: Release D 2... Mike Parker via Digitalmars-d-announce
      • Re: Release... Arun Chandrasekaran via Digitalmars-d-announce
        • Re: Rel... Mike Parker via Digitalmars-d-announce
        • Re: Rel... Steven Schveighoffer via Digitalmars-d-announce
          • Re:... Daniel Kozak via Digitalmars-d-announce

Reply via email to