Hi Carl, on 2024/7/24 01:32, Carl Love wrote: > GCC maintainers: > > The code generated by using C-code to set a vector element versus using a > built-in has been investigated. The assembly code generated from the C-code > is as good or better than the assembly code generated for the built-ins for > both the -O0 and -O3 levels of optimization. > > For the vec_insert built-in bif whose resolving makes use of the vec_set bif > previously, is now removed, is as good as before with optimization. > > This two patch series removes the __builtin_vec_set_v1ti, > __builtin_vec_set_v2df, __builtin_vec_set_v2di and built-ins > __builtin_vsx_set_1ti, __builtin_vsx_set_2df, __builtin_vsx_set_2di > built-ins in favor of using C-code instead. The built-ins use the built-in > set attribute in the definitions of the built-ins. With the removal of these > 6 built-ins, the set built-in attribute is no longer used and the related > code for the attribute is removed. > > The patch, first patch in this series, to remove the __builtin_vec_set_v1ti, > __builtin_vec_set_v2df, __builtin_vec_set_v2di was previously posted. The > feedback on the patch was that we could also remove set bif attribute. > Removal of the set bif attribute requires also removing the > __builtin_vsx_set_1ti, __builtin_vsx_set_2df, __builtin_vsx_set_2di > built-ins. The second patch removes the vsx set built-ins and the now no > longer used set built-in attribute and associated code. > > The patches have been tested on a Power 10 LE system with no regressions.
It would be good to test this on BE as well (both 64-bit and 32-bit). BR, Kewen