linux-stable/arch/mips
Maciej W. Rozycki d9a359cb0a MIPS: Avoid DIVU in `__div64_32' is result would be zero
commit c1d337d45e upstream.

We already check the high part of the divident against zero to avoid the
costly DIVU instruction in that case, needed to reduce the high part of
the divident, so we may well check against the divisor instead and set
the high part of the quotient to zero right away.  We need to treat the
high part the divident in that case though as the remainder that would
be calculated by the DIVU instruction we avoided.

This has passed correctness verification with test_div64 and reduced the
module's average execution time down to 1.0445s and 0.2619s from 1.0668s
and 0.2629s respectively for an R3400 CPU @40MHz and a 5Kc CPU @160MHz.

Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-22 10:57:41 +02:00
..
alchemy MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu 2020-11-24 13:05:49 +01:00
ar7 MIPS: AR7: ensure the port type's FCR value is used 2018-01-23 19:58:21 +01:00
ath25 MIPS: ath25: Check for kzalloc allocation failure 2018-03-15 10:54:31 +01:00
ath79 Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment" 2019-06-11 12:21:49 +02:00
bcm47xx MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA 2020-12-29 13:46:53 +01:00
bcm63xx MIPS: BCM63XX: drop unused and broken DSP platform device 2020-01-27 14:46:11 +01:00
bmips License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
boot MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB 2021-01-23 15:48:40 +01:00
cavium-octeon MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init() 2020-08-21 09:48:10 +02:00
cobalt
configs MIPS: Loongson: Build ATI Radeon GPU driver as module 2020-06-20 10:25:07 +02:00
dec License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
emma
fw MIPS: fw: sni: Fix out of bounds init of o32 stack 2019-11-06 12:43:17 +01:00
generic MIPS: generic: fix missing of_node_put() 2018-09-19 22:43:43 +02:00
include MIPS: Avoid DIVU in `__div64_32' is result would be zero 2021-05-22 10:57:41 +02:00
jazz MIPS: jazz: fix 64bit build 2019-02-27 10:08:04 +01:00
jz4740 MIPS: lb60: Fix pin mappings 2019-07-31 07:28:47 +02:00
kernel MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section 2021-03-03 18:22:36 +01:00
kvm KVM: MIPS: Change the definition of kvm type 2020-09-23 10:46:34 +02:00
lantiq MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0 2021-03-03 18:22:41 +01:00
lasat License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
lib MIPS: lib: Provide MIPS64r6 __multi3() for GCC < 7 2018-09-05 09:26:41 +02:00
loongson32 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
loongson64 MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init() 2020-02-28 16:35:57 +01:00
math-emu MIPS: math-emu: Write-protect delay slot emulation pages 2019-01-09 17:14:51 +01:00
mm MIPS: c-r4k: Fix section mismatch for loongson2_sc_init 2021-03-03 18:22:41 +01:00
mti-malta Update MIPS email addresses 2017-11-03 09:02:30 -07:00
net bpf, mips: Limit to 33 tail calls 2020-01-12 12:11:54 +01:00
netlogic License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
paravirt License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci MIPS: pci-legacy: stop using of_pci_range_to_resource 2021-05-22 10:57:33 +02:00
pic32 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pistachio MIPS: pistachio: Build uImage.gz by default 2019-06-11 12:21:49 +02:00
pmcs-msp71xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pnx833x
power License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ralink MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8 2019-02-12 19:46:08 +01:00
rb532 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sgi-ip22 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sgi-ip27 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sgi-ip32
sibyte Revert "MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur" 2019-09-19 09:08:03 +02:00
sni MIPS: SNI: Fix spurious interrupts 2020-09-23 10:46:35 +02:00
tools Update MIPS email addresses 2017-11-03 09:02:30 -07:00
txx9 mips: txx9: fix iounmap related issue 2019-11-20 17:59:48 +01:00
vdso mips: Do not include hi and lo in clobber list for R6 2021-05-22 10:57:13 +02:00
vr41xx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xilfpga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kbuild
Kbuild.platforms
Kconfig MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT 2020-09-23 10:46:35 +02:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile MIPS: Truncate link address into 32bit for 32bit kernel 2020-06-20 10:25:11 +02:00
Makefile.postlink MIPS: fix indentation of the 'RELOCS' message 2020-02-14 16:32:09 -05:00