The 10/09/2025 10:32, Wilco Dijkstra wrote:
> Hi Alfie,

Hi Wilco, thank you for the review
> 
> +/* TODO: These FMV features are not yet supported in GCC. */
> +// int fn [[gnu::target_version("dit")]] (int)                       { 
> return 1; }
> +// int fn [[gnu::target_version("dpb")]] (int)                       { 
> return 1; }
> +// int fn [[gnu::target_version("dpb2")]] (int)                      { 
> return 1; }
> 
> Can you fix these (and later ones)? I believe they are all supported since 
> GCC15.

I don't think they are. They are supported features, but we haven't added the
fmv support yet. (see https://godbolt.org/z/dPxjjfo1T)

I plan to add support soon.

> 
> +  setCPUFeature (FEAT_RCPC3);
> +  // if(resolver() != &fn_rcpc3) return 1;  //  setCPUFeature 
> + (FEAT_FRINTTS);  if (resolver () != &fn_frintts) return 1;
> 
> Same for these.
> 
> +// Checks that the versions are in the correct order
> +/* { dg-final { scan-ipa-dump-times "Version order for 
> +fn/\[0-9\]+:\\nfn\.default/\[0-9\]+\\nfn\._Mrng/\[0-9\]+\\nfn\._Mflagm/
> +\[0-9\]+\\nfn\._Mflagm2/\[0-9\]+\\nfn\._Mlse/\[0-9\]+\\nfn\._Mfp/\[0-9\
> +]+\\nfn\._Msimd/\[0-9\]+\\nfn\._Mdotprod/\[0-9\]+\\nfn\._Msm4/\[0-9\]+\
> +\nfn\._MrdmaMrdm/\[0-9\]+\\nfn\._Mcrc/\[0-9\]+\\nfn\._Msha2/\[0-9\]+\\n
> +fn\._Msha3/\[0-9\]+\\nfn\._Maes/\[0-9\]+\\nfn\._Mfp16/\[0-9\]+\\nfn\._M
> +fp16fml/\[0-9\]+\\nfn\._Mjscvt/\[0-9\]+\\nfn\._Mfcma/\[0-9\]+\\nfn\._Mr
> +cpc/\[0-9\]+\\nfn\._Mrcpc2/\[0-9\]+\\nfn\._Mrcpc3/\[0-9\]+\\nfn\._Mfrin
> +tts/\[0-9\]+\\nfn\._Mi8mm/\[0-9\]+\\nfn\._Mbf16/\[0-9\]+\\nfn\._Msve/\[
> +0-9\]+\\nfn\._Mf32mm/\[0-9\]+\\nfn\._Mf64mm/\[0-9\]+\\nfn\._Msve2/\[0-9
> +\]+\\nfn\._Msve2_aes/\[0-9\]+\\nfn\._Msve2_bitperm/\[0-9\]+\\nfn\._Msve
> +2_sha3/\[0-9\]+\\nfn\._Msve2_sm4/\[0-9\]+\\nfn\._Msve2Msme/\[0-9\]+\\nf
> +n\._Msb/\[0-9\]+\\nfn\._Mwfxt/\[0-9\]+\\nfn\._Msve2Msme_f64f64/\[0-9\]+
> +\\nfn\._Msve2Msme_i16i64/\[0-9\]+\\nfn\._Msve2Msme2/\[0-9\]+\\nfn\._Mmo
> +ps/\[0-9\]+\\nfn\._Mcssc/\[0-9\]+\\n" 1 "targetclone1" } } */
> 
> This is unmaintainable. Is there a way to split up this huge string across 
> multiple lines?
> Eg. In C you can use line split or auto string concatenation.

I agree this is far from ideal. I asked around but cannot find any way to
break dejagnu statements over multiple lines.

What I could do is break it into many smalled statements, so instead of a check 
for
fn\.default/\[0-9\]+\\nfn\._Mrng/\[0-9\]+\\nfn\._Mflagm/\[0-9\]+\\nfn\._Mflagm2/\[0-9\]+\\nfn\._Mlse/\[0-9\]+\\n
 ...

We have checks for:

fn\.default/\[0-9\]+\\nfn\._Mrng/\[0-9\]+\\n
fn\._Mrng/\[0-9\]+\\nfn\._Mflagm/\[0-9\]+\\n
fn\._Mflagm/\[0-9\]+\\nfn\._Mflagm2/\[0-9\]+\\n

individually.

This would achieve the same thing and be marginally better?

> Cheers,
> Wilco

-- 
Alfie Richards

Reply via email to