diff mbox

Add -foffload-abi support for PPC

Message ID 5617B121.7000500@codesourcery.com
State New
Headers show

Commit Message

James Norris Oct. 9, 2015, 12:20 p.m. UTC
David,

On 10/08/2015 11:53 AM, David Edelsohn wrote:
> On Thu, Oct 8, 2015 at 12:19 PM, James Norris <jnorris@codesourcery.com> wrote:
>
>> I've revised the patch from the review comments (thank you) and
>> is attached.
>>
>> Regtested on x86_64 and powerpcle64.
>>
>> OK for trunk?
>
> What is the goal? Do you want this to return the correct value or only
> the value for the supported 64 bit PPC64LE system?
>
> Thanks, David
>
>

The goal is to support both 32-bit and 64-bit. There was some
confusion on my part, my apologies.

Attached is the corrected patch.

Thanks!
Jim

Comments

David Edelsohn Oct. 9, 2015, 12:22 p.m. UTC | #1
On Fri, Oct 9, 2015 at 8:20 AM, James Norris <jnorris@codesourcery.com> wrote:
> David,
>
>
> On 10/08/2015 11:53 AM, David Edelsohn wrote:
>>
>> On Thu, Oct 8, 2015 at 12:19 PM, James Norris <jnorris@codesourcery.com>
>> wrote:
>>
>>> I've revised the patch from the review comments (thank you) and
>>> is attached.
>>>
>>> Regtested on x86_64 and powerpcle64.
>>>
>>> OK for trunk?
>>
>>
>> What is the goal? Do you want this to return the correct value or only
>> the value for the supported 64 bit PPC64LE system?
>>
>> Thanks, David
>>
>>
>
> The goal is to support both 32-bit and 64-bit. There was some
> confusion on my part, my apologies.
>
> Attached is the corrected patch.

This version seems reasonable to me.

Thanks, David
diff mbox

Patch

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index e095f03..8aac4f7 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -1690,6 +1690,9 @@  static const struct attribute_spec rs6000_attribute_table[] =
 #define TARGET_LIBGCC_SHIFT_COUNT_MODE rs6000_abi_word_mode
 #undef TARGET_UNWIND_WORD_MODE
 #define TARGET_UNWIND_WORD_MODE rs6000_abi_word_mode
+
+#undef TARGET_OFFLOAD_OPTIONS
+#define TARGET_OFFLOAD_OPTIONS rs6000_offload_options
 
 
 /* Processor table.  */
@@ -9530,6 +9533,16 @@  rs6000_abi_word_mode (void)
   return TARGET_32BIT ? SImode : DImode;
 }
 
+/* Implement the TARGET_OFFLOAD_OPTIONS hook.  */
+static char *
+rs6000_offload_options (void)
+{
+  if (TARGET_64BIT)
+    return xstrdup ("-foffload-abi=lp64");
+  else
+    return xstrdup ("-foffload-abi=ilp32");
+}
+
 /* On rs6000, function arguments are promoted, as are function return
    values.  */