gcc/gcc/config
Richard Earnshaw c2f36c35da [AArch64] Fix for gcc-7 regression PR 80530
This patch fixes the regression caused by the changes to add square root
estimation when compiling for xgene-1 or exynos-m1 targets.

The issue is that the expand path for the reciprocal estimate square
root pattern assumes that pattern cannot fail once it has been decided
that this expansion path is available, but because the logic deep inside
aarch64_emit_approx_sqrt() differs from use_rsqrt_p() the two disagree
as to what is safe.

This patch refactors the logic to ensure that we cannot unknowingly make
different choices here.

	PR target/80530
	* config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
	that the logic for permitting reciprocal estimates matches that
	in use_rsqrt_p.

From-SVN: r247341
2017-04-27 14:11:47 +00:00
..
aarch64 [AArch64] Fix for gcc-7 regression PR 80530 2017-04-27 14:11:47 +00:00
alpha Update copyright years. 2017-01-01 13:07:43 +01:00
arc arc: Fix for loop end detection 2017-04-14 22:14:34 +01:00
arm re PR target/77728 (Miscompilation multiple vector iteration on ARM) 2017-04-25 18:47:32 +02:00
avr re PR target/80462 ([avr] Incorrect "warning: uninitialized variable 'xxx' put into program memory area" for identical strings) 2017-04-19 12:20:57 +00:00
bfin Update copyright years. 2017-01-01 13:07:43 +01:00
c6x c6x.c (hwloop_optimize): Handle case where the old iteration reg is used after the loop. 2017-03-15 13:36:50 +00:00
cr16 Fix numerous typos in comments 2017-04-03 23:30:56 +01:00
cris cris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS. 2017-04-12 08:58:23 -06:00
epiphany Fix numerous typos in comments 2017-04-03 23:30:56 +01:00
fr30 Update copyright years. 2017-01-01 13:07:43 +01:00
frv re PR tree-optimization/79256 (FAIL: gcc.dg/vect/pr25413a.c execution test) 2017-02-07 11:29:06 +00:00
ft32 Update copyright years. 2017-01-01 13:07:43 +01:00
h8300 Update copyright years. 2017-01-01 13:07:43 +01:00
i386 i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts. 2017-04-11 22:36:58 +02:00
ia64 Update copyright years. 2017-01-01 13:07:43 +01:00
iq2000 iq2000.c (final_prescan_insn): Do not separate a CALL and NOTE_INSN_CALL_ARG_LOCATION. 2017-04-07 08:26:05 -06:00
lm32 Update copyright years. 2017-01-01 13:07:43 +01:00
m32c Update copyright years. 2017-01-01 13:07:43 +01:00
m32r Update copyright years. 2017-01-01 13:07:43 +01:00
m68k Fix numerous typos in comments 2017-04-03 23:30:56 +01:00
mcore Update copyright years. 2017-01-01 13:07:43 +01:00
microblaze Eliminate unneeded test. 2017-03-10 00:48:51 +00:00
mips MIPS: Prevent buffer overrun in uninitialised variable fix 2017-04-20 13:39:50 +00:00
mmix Update copyright years. 2017-01-01 13:07:43 +01:00
mn10300 Update copyright years. 2017-01-01 13:07:43 +01:00
moxie Update copyright years. 2017-01-01 13:07:43 +01:00
msp430 Remove trailing period from various diagnostic messages (PR translation/79923) 2017-03-11 01:43:48 +00:00
nds32 PR target/79928 - nds32: misspelled diagnostic: not support -fpic 2017-03-08 16:29:42 -07:00
nios2 nios2.c (nios2_simple_const_p): Returns false if the argument isn't a CONST_INT. 2017-02-24 17:35:18 -05:00
nvptx nvptx: correct format string 2017-03-31 19:22:00 +03:00
pa PR target 77850 2017-03-06 22:48:53 +00:00
pdp11 pdp11.md (movmemhi): Adjust operand numbers to match_scratch operand is highest. 2017-03-13 11:43:19 -06:00
riscv RISC-V: Don't prefer FP_REGS for integers 2017-03-20 16:43:21 +00:00
rl78 Update copyright years. 2017-01-01 13:07:43 +01:00
rs6000 [PATCH, rs6000] pr80482 Relax vector builtin parameter checks 2017-04-25 16:16:13 +00:00
rx Fix numerous typos in comments 2017-04-03 23:30:56 +01:00
s390 S/390: PR80464: Split MEM->GPR vector moves 2017-04-25 11:18:52 +00:00
sh Fix numerous typos in comments 2017-04-03 23:30:56 +01:00
sparc predicates.md (input_operand): Add comment. 2017-04-19 08:05:36 +00:00
spu Update copyright years. 2017-01-01 13:07:43 +01:00
stormy16 Update copyright years. 2017-01-01 13:07:43 +01:00
tilegx re PR target/78862 (tile*: ICE with -fstack-protetor-strong) 2017-02-03 18:41:57 +00:00
tilepro re PR target/78862 (tile*: ICE with -fstack-protetor-strong) 2017-02-03 18:41:57 +00:00
v850 Update copyright years. 2017-01-01 13:07:43 +01:00
vax Update copyright years. 2017-01-01 13:07:43 +01:00
visium visium.md (type): Add trap. 2017-02-23 23:04:00 +00:00
vms Update copyright years. 2017-01-01 13:07:43 +01:00
xtensa Update copyright years. 2017-01-01 13:07:43 +01:00
README
darwin-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-driver.c darwin-driver.c (darwin_driver_init): Const-correctness fixes for first_period and second_period variables. 2017-01-02 22:36:40 -07:00
darwin-f.c Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-ppc-ldouble-patch.def Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-protos.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin-sections.def Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.c Update copyright years. 2017-01-01 13:07:43 +01:00
darwin.h re PR driver/49726 (-g0 file.S -g does not produce debug info) 2017-01-16 22:33:07 +01:00
darwin.opt Update copyright years. 2017-01-01 13:07:43 +01:00
darwin9.h re PR driver/49726 (-g0 file.S -g does not produce debug info) 2017-01-16 22:33:07 +01:00
darwin10.h Update copyright years. 2017-01-01 13:07:43 +01:00
darwin12.h Update copyright years. 2017-01-01 13:07:43 +01:00
dbx.h Update copyright years. 2017-01-01 13:07:43 +01:00
dbxcoff.h Update copyright years. 2017-01-01 13:07:43 +01:00
dbxelf.h Update copyright years. 2017-01-01 13:07:43 +01:00
default-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
dragonfly-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
dragonfly.h Update copyright years. 2017-01-01 13:07:43 +01:00
dragonfly.opt Update copyright years. 2017-01-01 13:07:43 +01:00
elfos.h Update copyright years. 2017-01-01 13:07:43 +01:00
flat.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd-nthr.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd-spec.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
freebsd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
fuchsia.h fuchsia-elf.h: New file. 2017-01-10 18:00:43 +00:00
fused-madd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
g.opt Update copyright years. 2017-01-01 13:07:43 +01:00
glibc-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
glibc-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
gnu-user.h Update copyright years. 2017-01-01 13:07:43 +01:00
gnu-user.opt Update copyright years. 2017-01-01 13:07:43 +01:00
gnu.h Update copyright years. 2017-01-01 13:07:43 +01:00
host-darwin.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-darwin.h Update copyright years. 2017-01-01 13:07:43 +01:00
host-hpux.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-linux.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-openbsd.c Update copyright years. 2017-01-01 13:07:43 +01:00
host-solaris.c Update copyright years. 2017-01-01 13:07:43 +01:00
hpux-stdint.h
hpux11.opt Update copyright years. 2017-01-01 13:07:43 +01:00
initfini-array.h Update copyright years. 2017-01-01 13:07:43 +01:00
kfreebsd-gnu.h Update copyright years. 2017-01-01 13:07:43 +01:00
kopensolaris-gnu.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux-android.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux-android.opt Update copyright years. 2017-01-01 13:07:43 +01:00
linux-protos.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux.c Update copyright years. 2017-01-01 13:07:43 +01:00
linux.h Update copyright years. 2017-01-01 13:07:43 +01:00
linux.opt Update copyright years. 2017-01-01 13:07:43 +01:00
lynx.h Update copyright years. 2017-01-01 13:07:43 +01:00
lynx.opt Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd-elf.h Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd-elf.opt Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
netbsd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
newlib-stdint.h Update copyright years. 2017-01-01 13:07:43 +01:00
openbsd-libpthread.h Update copyright years. 2017-01-01 13:07:43 +01:00
openbsd-stdint.h
openbsd.h Update copyright years. 2017-01-01 13:07:43 +01:00
openbsd.opt Update copyright years. 2017-01-01 13:07:43 +01:00
phoenix.h Update copyright years. 2017-01-01 13:07:43 +01:00
print-sysroot-suffix.sh Update copyright years. 2017-01-01 13:07:43 +01:00
rpath.opt Update copyright years. 2017-01-01 13:07:43 +01:00
rtems.h Update copyright years. 2017-01-01 13:07:43 +01:00
rtems.opt Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-clearcap.map
sol2-clearcapv2.map
sol2-cxx.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-protos.h Update copyright years. 2017-01-01 13:07:43 +01:00
sol2-stubs.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2.c Update copyright years. 2017-01-01 13:07:43 +01:00
sol2.h Require C11 for C++17 on Solaris 2017-01-13 12:11:00 +00:00
sol2.opt Update copyright years. 2017-01-01 13:07:43 +01:00
t-darwin Update copyright years. 2017-01-01 13:07:43 +01:00
t-glibc Update copyright years. 2017-01-01 13:07:43 +01:00
t-libunwind Update copyright years. 2017-01-01 13:07:43 +01:00
t-linux Update copyright years. 2017-01-01 13:07:43 +01:00
t-lynx Update copyright years. 2017-01-01 13:07:43 +01:00
t-openbsd
t-pnt16-warn Update copyright years. 2017-01-01 13:07:43 +01:00
t-rtems
t-slibgcc
t-sol2 Update copyright years. 2017-01-01 13:07:43 +01:00
t-sysroot-suffix
t-vxworks Update copyright years. 2017-01-01 13:07:43 +01:00
t-winnt Update copyright years. 2017-01-01 13:07:43 +01:00
tm-dwarf2.h
usegas.h Update copyright years. 2017-01-01 13:07:43 +01:00
usegld.h
vx-common.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks-dummy.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks.c Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks.h Update copyright years. 2017-01-01 13:07:43 +01:00
vxworks.opt Update copyright years. 2017-01-01 13:07:43 +01:00
vxworksae.h Update copyright years. 2017-01-01 13:07:43 +01:00
winnt-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
x-cflags-O1
x-darwin
x-hpux
x-linux
x-openbsd
x-solaris

README

This directory contains machine-specific files for the GNU C compiler.
It has a subdirectory for each basic CPU type.
The only files in this directory itself
are some .h files that pertain to particular operating systems
and are used for more than one CPU type.