Hi Segher, Find the attached patch for the subjected issue. Please let me know your thoughts and comments on the same.
>Do you have a copyright assignment with the FSF? We don't have a copyright assignment with FSF. >- if (!global_options_set.x_aix_struct_return) >+ if (!global_options_set.x_aix_struct_return >+ && !rs6000_current_svr4_struct_return) According to the value of aix_struct_return it will decide which one need to use register or memory. After that, it will check which alignment is there for register according to the given option. ChangeLogs /gcc/ChangeLog 2019-01-10 Lokesh Janghel <lokeshjanghe...@gmail.com> PR target/84762 * config/rs6000/rs6000.c (rs6000_return_in_msb): Retrun in svr4 for small struct value. (rs6000_option_override_internal): Add the condition for aix or svr4 (LSB/MSB aligned). * config/rs6000/rs6000.opt: Extend the -msvr4-struct-return option for LSB aligned value and MSB aligned value. /gcc/testsuite/ChangeLog 2019-01-10 Lokesh Janghel <lokeshjanghe...@gmail.com> PR target/84762 * gcc.target/pr84762-1.c: New testcase. * gcc.target/pr84762-2.c: New testcase. * gcc.target/pr84762-3.c: New testcase. -- Thanks Lokesh Janghel
84762.patch
Description: Binary data