Now committed as r17-4947-gfbcafeec06a661

such that simdlen( scaled(arithmetic-type [, divisor]): length)
now is now accepted (but fails then with a middle-end sorry).

Tobias Burnus wrote:

Tamar + Robbin: This was added to OpenMP 6.1 […]
for aarch64 / RISC-V as they have many vector modes.
Please take care of the middle-end part + target hooks, including mangling,
once it landed

Also missing:
* Fortran
* When used with 'declare variant', I found a bug (C++-only): PR127734.
* It seems as if something should be done for the __simd__ attribute as
  well (cf. far below).

[The last item (+ Fortran attributes): in x86-64, this attribute is used
to enable GLIBC's vector math functions via 
math-vector.h/math-vecto-fortranr.h.]

PS: For type being equal, I currently check whether the type tree
is identical (pointer comparison); that should work for any normal code,
but with typeof or some 'typedef' one might end up having trees which
differ, e.g. in the qualifier. I am not sure that's a real issue or not.

Thoughts about this?


Tobias

Reply via email to