This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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."