Re: [committed][AArch64] Add support for the SVE PCS

2019-11-01 Thread Andreas Schwab
On Okt 31 2019, Richard Sandiford wrote: > The SVE PCS support broke go, D and Ada because those languages don't > call TARGET_INIT_BUILTINS. We therefore ended up trying to get the > TYPE_MAIN_VARIANT of a null __SVBool_t. > > We shouldn't really need to apply TYPE_MAIN_VARIANT there anyway, > s

Re: [committed][AArch64] Add support for the SVE PCS

2019-10-31 Thread Richard Sandiford
Andreas Schwab writes: > This breaks boostrap. > > /opt/gcc/gcc-20191030/Build/./prev-gcc/xgcc > -B/opt/gcc/gcc-20191030/Build/./prev-gcc/ -B/usr/aarch64-suse-linux/bin/ > -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem > /usr/aarch64-suse-linux/include -isystem /usr/aarc

Re: [committed][AArch64] Add support for the SVE PCS

2019-10-30 Thread Andreas Schwab
Same problem in the go frontend. (gdb) r Starting program: /opt/gcc/test/Build/gcc/go1 ../../../libgo/go/sync/atomic/doc.go ../../../libgo/go/sync/atomic/value.go -quiet -dumpbase doc.go -mlittle-endian -mabi=lp64 -auxbase-strip doc.o -g -O2 -fgo-pkgpath=sync/atomic -I . -L/opt/gcc/test/Build/.

Re: [committed][AArch64] Add support for the SVE PCS

2019-10-30 Thread Andreas Schwab
The D frontend is also broken. (gdb) r Starting program: /opt/gcc/test/Build/gcc/d21 ../../../../libphobos/libdruntime/core/sys/posix/utime.d -quiet -dumpbase utime.d -mlittle-endian -mabi=lp64 -auxbase-strip core/sys/posix/.libs/utime.o -g -O2 -fPIC -fversion=Shared -iprefix /opt/gcc/test/Bui

Re: [committed][AArch64] Add support for the SVE PCS

2019-10-30 Thread Andreas Schwab
Program received signal SIGSEGV, Segmentation fault. aarch64_sve::svbool_type_p (type=) at ../../gcc/config/aarch64/aarch64-sve-builtins.cc:3239 3239 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (abi_type)); (gdb) bt #0 aarch64_sve::svbool_type_p (type=) at ../../gcc/confi

Re: [committed][AArch64] Add support for the SVE PCS

2019-10-30 Thread Andreas Schwab
This breaks boostrap. /opt/gcc/gcc-20191030/Build/./prev-gcc/xgcc -B/opt/gcc/gcc-20191030/Build/./prev-gcc/ -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem /usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include -fno-

[committed][AArch64] Add support for the SVE PCS

2019-10-29 Thread Richard Sandiford
The AAPCS64 specifies that if a function takes arguments in SVE registers or returns them in SVE registers, it must preserve all of Z8-Z23 and all of P4-P11. (Normal functions only preserve the low 64 bits of Z8-Z15 and clobber all of the predicate registers.) This variation is known informally a