https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93177
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-01-11 Ever confirmed|0 |1 --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > __lwarx() > __ldarx() > __stwcx() > __stdcx() Is there a reason why the __atomic_* builtins don't work? > __protected_stream_set() > __protected_stream_count() > __protected_stream_count_depth() // currently not implemented in gcc > __protected_stream_go() These are the most useful ones really. >the cntlz ones are not, for example :) It has been a long time since I touched this but I would not doubt I messed up this too. __mulh* intrinsics are better implemented these days using either 64bit or 128bit multiples. __l[hwd]brx/__st[hwd]brx intrinsics are better implemented as __builtin_bswap* followed by load/stored these days (the bswap builtins did not exist back then or optimized) Many of the other intrinsics should be implemented as non inline-asm too, even fma, should be done using __builtin_fma :).