https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71652

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Thank you very much Jakub with the suggested hint.

I applied basically what you suggested and I'm wondering whether target macro
can really produce insane options that would eventually cause an ICE or another
misleading error?

As I've been playing with x86 target options I came to multiple question
(probably something we should fix):

1)
https://gcc.gnu.org/onlinedocs/gcc/x86-Function-Attributes.html#x86-Function-Attributes
section does no document all accepted values of target attribute:

fma
avx512f
avx512er
avx512cd
avx512pf
avx512dq
avx512bw
avx512vl
avx512ifma
avx512vbmi
3dnow
bmi
bmi2
lzcnt
hle
fxsr
rdseed
prfchw
adx
tbm
sha
fsgsbase
rdrnd
f16c
rtm
xsave
xsaveopt
prefetchwt1
clflushopt
xsavec
xsaves
clwb
pcommit
mwaitx

Suggestion: let's document them

2) on the other hand, ‘fused-madd’ and ‘no-fused-madd’ are document, but we
reject them:
tc.cc:2:33: error: attribute(target("fused-madd")) is unknown

probably because of:
./xg++ -B. tc.cc -mfused-madd
xg++: warning: ‘-mfused-madd’ is deprecated; use ‘-ffp-contract=’ instead

Suggestion: remove the option from documentation

3) There are ISA options that are not accepted:

3dnowa
movbe
crc32
mpx
clzero
pku

Suggestion: accept them?

Reply via email to