On 8/26/25 08:47, Tobias Burnus wrote:
Hi Sandra,
Sandra Loosemore wrote:
On 8/26/25 05:26, Jakub Jelinek wrote:
I wouldn't emit sorry for targets where we already implement it
"correctly",
i.e. at least all targets which have NULL
targetm.simd_clone.compute_vecsize_and_simdlen
There the argument transformation is identity.
That would be the targetm.xxx for the offload target, right?
I am sure that Jakub meant 'target' in the GCC sense – not in the
OpenMP sense, i.e. the system one is currently compiling for –
which means it would be NULL unless compiling for x86-64/i386,
Aarch64 or gcn.
There is also no means to obtain
targetm.simd_clone.compute_vecsize_and_simdlen
on the non-offload compiler for the offload compiler (but see below).
Right, this is what I was getting at. It doesn't make sense for the
front ends to conditionally emit a "sorry" depending on properties of
the (OpenMP) host rather than properties of the (OpenMP) target, and I
didn't think there was any way to get the latter from the (OpenMP) host
compiler where the front ends run.
For offloading, the following applies, quoting Jakub from else thread:
All even more complicated by offloading but guess we already have big
problems with mixing declare simd and calls from target regions.
TBH, I don't know enough to understand what "big problems" Jakub was
referring to, much less how they might be relevant to front-end type
checking. :-S
-Sandra