gcc/gcc/config
Andre Vieira a11ef53238 aarch64: fix vector multiplication costs
This patch introduces a vect.mul RTX cost and decouples the vector
multiplication costing from the scalar one.

gcc/ChangeLog:
2021-02-09  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/aarch64-cost-tables.h: Add entries for vect.mul.
	* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Use vect.mul for
	vector multiplies and vect.alu for SSRA.
	* config/arm/aarch-common-protos.h (struct vector_cost_table): Define
	vect.mul cost field.
	* config/arm/aarch-cost-tables.h: Add entries for vect.mul.
	* config/arm/arm.c: Likewise.

gcc/testsuite/ChangeLog:
2021-02-09  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gcc.target/aarch64/asimd-mul-to-shl-sub.c: New test.
2021-02-09 18:24:22 +00:00
..
aarch64 aarch64: fix vector multiplication costs 2021-02-09 18:24:22 +00:00
alpha Update copyright years. 2021-01-04 10:26:59 +01:00
arc arc: fix accumulator first register. 2021-01-05 14:19:27 +02:00
arm aarch64: fix vector multiplication costs 2021-02-09 18:24:22 +00:00
avr Update copyright years. 2021-01-04 10:26:59 +01:00
bfin Update copyright years. 2021-01-04 10:26:59 +01:00
bpf Update copyright years. 2021-01-04 10:26:59 +01:00
c6x Update copyright years. 2021-01-04 10:26:59 +01:00
cr16 Update copyright years. 2021-01-04 10:26:59 +01:00
cris Update copyright years. 2021-01-04 10:26:59 +01:00
csky Update copyright years. 2021-01-04 10:26:59 +01:00
epiphany Update copyright years. 2021-01-04 10:26:59 +01:00
fr30 Update copyright years. 2021-01-04 10:26:59 +01:00
frv Update copyright years. 2021-01-04 10:26:59 +01:00
ft32 Update copyright years. 2021-01-04 10:26:59 +01:00
gcn amdgcn: Add gfx908 support 2021-02-03 14:25:33 +00:00
h8300 Update copyright years. 2021-01-04 10:26:59 +01:00
i386 i386: Fix up TARGET_QIMODE_MATH for many AMD CPU tunings [PR98957] 2021-02-05 10:39:03 +01:00
ia64 i386, expand: Optimize also 256-bit and 512-bit permutatations as vpmovzx if possible [PR95905] 2021-01-13 11:36:38 +01:00
iq2000 Update copyright years. 2021-01-04 10:26:59 +01:00
lm32 Update copyright years. 2021-01-04 10:26:59 +01:00
m32c Update copyright years. 2021-01-04 10:26:59 +01:00
m32r Update copyright years. 2021-01-04 10:26:59 +01:00
m68k Update copyright years. 2021-01-04 10:26:59 +01:00
mcore Update copyright years. 2021-01-04 10:26:59 +01:00
microblaze Update copyright years. 2021-01-04 10:26:59 +01:00
mips i386, expand: Optimize also 256-bit and 512-bit permutatations as vpmovzx if possible [PR95905] 2021-01-13 11:36:38 +01:00
mmix Update copyright years. 2021-01-04 10:26:59 +01:00
mn10300 Update copyright years. 2021-01-04 10:26:59 +01:00
moxie Update copyright years. 2021-01-04 10:26:59 +01:00
msp430 Update copyright years. 2021-01-04 10:26:59 +01:00
nds32 Update copyright years. 2021-01-04 10:26:59 +01:00
nios2 RTEMS: Add -mcustom-fpu-cfg=fph2 multilib 2021-01-16 17:54:28 +01:00
nvptx Update copyright years. 2021-01-04 10:26:59 +01:00
or1k or1k: Fixup exception header data encodings 2021-01-14 08:45:01 +09:00
pa Update copyright years. 2021-01-04 10:26:59 +01:00
pdp11 PDP11: Use a mode with `const_double_zero' expressions 2021-01-09 15:50:27 +00:00
pru Update copyright years. 2021-01-04 10:26:59 +01:00
riscv RISC-V: The 'multilib-generator' enhancement. 2021-01-19 11:44:47 +08:00
rl78 Update copyright years. 2021-01-04 10:26:59 +01:00
rs6000 Fix earlier commit missing patch review changes 2021-02-03 09:34:36 -06:00
rx Update copyright years. 2021-01-04 10:26:59 +01:00
s390 IBM Z: Fix constraints in vpdi patterns 2021-01-08 18:15:47 +01:00
sh sh: Remove match_scratch operand test 2021-01-13 11:37:18 +00:00
sparc sparc,rtems: add __FIX_LEON3FT_TN0018 for affected targets 2021-01-19 13:57:58 +01:00
stormy16 Update copyright years. 2021-01-04 10:26:59 +01:00
tilegx Update copyright years. 2021-01-04 10:26:59 +01:00
tilepro Update copyright years. 2021-01-04 10:26:59 +01:00
v850 Update copyright years. 2021-01-04 10:26:59 +01:00
vax VAX: Remove a duplicate `cc' mode attribute 2021-01-09 16:30:50 +00:00
visium Update copyright years. 2021-01-04 10:26:59 +01:00
vms Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks
xtensa Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-driver.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-f.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-ppc-ldouble-patch.def Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
darwin-sections.def Update copyright years. 2021-01-04 10:26:59 +01:00
darwin.c Update copyright years. 2021-01-04 10:26:59 +01:00
darwin.h Update copyright years. 2021-01-04 10:26:59 +01:00
darwin.opt Update copyright years. 2021-01-04 10:26:59 +01:00
dbx.h Update copyright years. 2021-01-04 10:26:59 +01:00
dbxcoff.h Update copyright years. 2021-01-04 10:26:59 +01:00
dbxelf.h Update copyright years. 2021-01-04 10:26:59 +01:00
default-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
default-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly.h Update copyright years. 2021-01-04 10:26:59 +01:00
dragonfly.opt Update copyright years. 2021-01-04 10:26:59 +01:00
elfos.h Update copyright years. 2021-01-04 10:26:59 +01:00
flat.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-nthr.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-spec.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd.h Update copyright years. 2021-01-04 10:26:59 +01:00
freebsd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
fuchsia.h Update copyright years. 2021-01-04 10:26:59 +01:00
fused-madd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
g.opt Update copyright years. 2021-01-04 10:26:59 +01:00
glibc-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
glibc-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
glibc-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
gnu-user.h Update copyright years. 2021-01-04 10:26:59 +01:00
gnu-user.opt Update copyright years. 2021-01-04 10:26:59 +01:00
gnu.h Update copyright years. 2021-01-04 10:26:59 +01:00
host-darwin.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-darwin.h Update copyright years. 2021-01-04 10:26:59 +01:00
host-hpux.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-linux.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-netbsd.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-openbsd.c Update copyright years. 2021-01-04 10:26:59 +01:00
host-solaris.c Update copyright years. 2021-01-04 10:26:59 +01:00
hpux11.opt Update copyright years. 2021-01-04 10:26:59 +01:00
hpux-stdint.h
initfini-array.h Update copyright years. 2021-01-04 10:26:59 +01:00
kfreebsd-gnu.h Update copyright years. 2021-01-04 10:26:59 +01:00
kopensolaris-gnu.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux-android.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux-android.opt Update copyright years. 2021-01-04 10:26:59 +01:00
linux-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux.c Update copyright years. 2021-01-04 10:26:59 +01:00
linux.h Update copyright years. 2021-01-04 10:26:59 +01:00
linux.opt Update copyright years. 2021-01-04 10:26:59 +01:00
lynx.h Update copyright years. 2021-01-04 10:26:59 +01:00
lynx.opt Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-elf.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-elf.opt Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd.c Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd.h Update copyright years. 2021-01-04 10:26:59 +01:00
netbsd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
newlib-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
openbsd-libpthread.h Update copyright years. 2021-01-04 10:26:59 +01:00
openbsd-stdint.h
openbsd.h Update copyright years. 2021-01-04 10:26:59 +01:00
openbsd.opt Update copyright years. 2021-01-04 10:26:59 +01:00
phoenix.h Update copyright years. 2021-01-04 10:26:59 +01:00
print-sysroot-suffix.sh Update copyright years. 2021-01-04 10:26:59 +01:00
README
rpath.opt Update copyright years. 2021-01-04 10:26:59 +01:00
rtems.h RTEMS: Fix default linker script 2021-01-25 12:31:23 +01:00
rtems.opt Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-clearcap.map
sol2-clearcapv2.map
sol2-cxx.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-d.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
sol2-stubs.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2.c Update copyright years. 2021-01-04 10:26:59 +01:00
sol2.h Update copyright years. 2021-01-04 10:26:59 +01:00
sol2.opt Update copyright years. 2021-01-04 10:26:59 +01:00
t-darwin Update copyright years. 2021-01-04 10:26:59 +01:00
t-dragonfly Update copyright years. 2021-01-04 10:26:59 +01:00
t-freebsd Update copyright years. 2021-01-04 10:26:59 +01:00
t-glibc Update copyright years. 2021-01-04 10:26:59 +01:00
t-libunwind Update copyright years. 2021-01-04 10:26:59 +01:00
t-linux Update copyright years. 2021-01-04 10:26:59 +01:00
t-lynx Update copyright years. 2021-01-04 10:26:59 +01:00
t-musl
t-netbsd Update copyright years. 2021-01-04 10:26:59 +01:00
t-openbsd
t-pnt16-warn Update copyright years. 2021-01-04 10:26:59 +01:00
t-rtems
t-slibgcc
t-sol2 Update copyright years. 2021-01-04 10:26:59 +01:00
t-sysroot-suffix
t-uclibc
t-vxworks robustify vxworks glimits.h overriding 2021-01-06 08:05:35 -03:00
t-winnt Update copyright years. 2021-01-04 10:26:59 +01:00
tm-dwarf2.h
usegas.h Update copyright years. 2021-01-04 10:26:59 +01:00
usegld.h
vx-common.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks-dummy.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks-stdint.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks.c Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks.h Update copyright years. 2021-01-04 10:26:59 +01:00
vxworks.opt Update copyright years. 2021-01-04 10:26:59 +01:00
vxworksae.h Update copyright years. 2021-01-04 10:26:59 +01:00
winnt-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
x-cflags-O1
x-darwin
x-hpux
x-linux
x-netbsd
x-openbsd
x-solaris

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.