clang >= 7 seems to support both the target attribute and multiversioning dispatch
This is something that definitely @ssnyder should approve or not.
Short story
-
clang
>=7 seems to support both thetarget
attribute and theifunc
mechanism for dispatching. -
cling
is notclang
and this is not supported by it as far I can tell. - In the other hand
target_clones
is only supported bygcc
as far as I can tell. So there are cases that multiversioning of functions compiles only withgcc
i.etarget
vstarget_clones
.
So tried to allow for certain code to have the same kind of behaviour for gcc
and clang
while leaving other untouched.
Edited by Christos Anastopoulos