This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 02/25] Propagate address spaces to builtins.


On Sep 05 2018, <ams@codesourcery.com> wrote:

> At present, pointers passed to builtin functions, including atomic operators,
> are stripped of their address space properties.  This doesn't seem to be
> deliberate, it just omits to copy them.
>
> Not only that, but it forces pointer sizes to Pmode, which isn't appropriate
> for all address spaces.
>
> This patch attempts to correct both issues.  It works for GCN atomics and
> GCN OpenACC gang-private variables.
>
> 2018-09-05  Andrew Stubbs  <ams@codesourcery.com>
> 	    Julian Brown  <julian@codesourcery.com>
>
> 	gcc/
> 	* builtins.c (get_builtin_sync_mem): Handle address spaces.

That breaks aarch64 ILP32.

../../../../libgomp/ordered.c: In function 'GOMP_doacross_wait':
../../../../libgomp/ordered.c:486:1: internal compiler error: output_operand: invalid address mode
486 | }
    | ^
0xf7219f aarch64_print_address_internal
        ../../gcc/config/aarch64/aarch64.c:7163
0xf7269b aarch64_print_operand_address
        ../../gcc/config/aarch64/aarch64.c:7267
0x8871ef output_address(machine_mode, rtx_def*)
        ../../gcc/final.c:4069
0xf7302b aarch64_print_operand
        ../../gcc/config/aarch64/aarch64.c:6952
0x887133 output_operand(rtx_def*, int)
        ../../gcc/final.c:4053
0x887b5b output_asm_insn(char const*, rtx_def**)
        ../../gcc/final.c:3965
0x889157 output_asm_insn(char const*, rtx_def**)
        ../../gcc/final.c:3842
0x889157 final_scan_insn_1
        ../../gcc/final.c:3103
0x88984b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*)
        ../../gcc/final.c:3149
0x889b1f final_1
        ../../gcc/final.c:2019
0x88aaff rest_of_handle_final
        ../../gcc/final.c:4660
0x88aaff execute
        ../../gcc/final.c:4734

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]