gcc/libgcc/config
Maciej W. Rozycki 9fa4023c7a RISC-V/libgcc: Reduce the size of RV64 millicode by 6 bytes
Rewrite code sequences throughout the 64-bit RISC-V `__riscv_save_*'
routines replacing `li t1, -48', `li t1, -64', and `li t1, -80',
instructions, which do not have a compressed encoding, respectively with
`li t1, 3', `li t1, 4', and `li t1, 4', which do, and then adjusting the
remaining code accordingly observing that `sub sp, sp, t1' takes the
same amount of space as an `slli t1, t1, 4'/`add sp, sp, t1' instruction
pair does, again due to the use of compressed encodings, saving 6 bytes
total.

This change does increase code size by 4 bytes for RISC-V processors
lacking the compressed instruction set, however their users couldn't
care about the code size or they would have chosen an implementation
that does have the compressed instructions, wouldn't they?

	libgcc/
	* config/riscv/save-restore.S [__riscv_xlen == 64]
	(__riscv_save_10, __riscv_save_8, __riscv_save_6, __riscv_save_4)
	(__riscv_save_2): Replace negative immediates used for the final
	stack pointer adjustment with positive ones, right-shifted by 4.
2020-07-31 23:52:20 +01:00
..
aarch64 aarch64: add PAC GNU property note to libgcc lse.S 2020-07-24 11:44:43 +01:00
alpha
arc
arm
avr Fix typo in ChangeLog 2020-06-24 10:10:56 -04:00
bfin
bpf
c6x
cr16
cris libgcc: cris: Remove support for crisv32-*-* and cris*-*-linux 2020-05-09 03:00:38 +02:00
csky
epiphany
fr30
frv
ft32
gcn
h8300
i386 x86: Move cpuinfo.h from libgcc to common/config/i386 2020-06-24 05:47:34 -07:00
ia64 Missing __divtf3@@GCC_4.4.0 on ia64 2020-06-04 09:56:32 +02:00
iq2000
libbid Add missing ChangeLog entries. 2020-05-05 16:10:13 +02:00
lm32
m32c
m32r
m68k
mcore
microblaze
mips
mmix
moxie
msp430
nds32
nios2
nvptx
or1k
pa
pdp11
pru
riscv RISC-V/libgcc: Reduce the size of RV64 millicode by 6 bytes 2020-07-31 23:52:20 +01:00
rl78
rs6000 aix: FAT libraries: test native compiler mode directly 2020-07-14 10:41:40 -04:00
rx
s390
score
sh
sol2
sparc
stormy16
tilegx
tilepro
v850
vax
visium
vms
xtensa xtensa: libgcc: fix PR target/95571 2020-06-08 18:30:07 -07:00
darwin10-unwind-find-enc-func.c
darwin-64.c
darwin-crt3.c
darwin-crt-tm.c
gthr-lynx.h
gthr-rtems.h
gthr-vxworks-cond.c
gthr-vxworks-thread.c
gthr-vxworks-tls.c
gthr-vxworks.c
gthr-vxworks.h
hardfp.c
libgcc-glibc.ver
libgcc-libsystem.ver
no-sfp-machine.h
no-unwind.h
t-crtfm
t-crtstuff-pic
t-darwin
t-dfprules
t-eh-dw2-dip
t-fdpbit
t-fixedpoint-gnu-prefix
t-fpbit
t-freebsd-thread
t-gnu-prefix
t-gthr-noweak
t-gthr-vxworks
t-gthr-vxworksae
t-hardfp
t-hardfp-sfdf
t-libgcc-pic
t-libunwind
t-libunwind-elf
t-linux
t-openbsd-thread
t-rtems
t-slibgcc
t-slibgcc-darwin
t-slibgcc-elf-ver
t-slibgcc-fuchsia
t-slibgcc-gld
t-slibgcc-gld-nover
t-slibgcc-hpux
t-slibgcc-libgcc
t-slibgcc-nolc-override
t-slibgcc-sld
t-slibgcc-vms
t-softfp
t-softfp-compat
t-softfp-excl
t-softfp-sfdf
t-softfp-sfdftf
t-softfp-tf
t-stack
t-tls
t-vxcrtstuff
t-vxworks
t-vxworks7
t-vxworksae
unwind-dw2-fde-darwin.c
vxcache.c
vxcrtstuff.c