aboutsummaryrefslogtreecommitdiff
Revert the following commit to work around a bootstrap comparison failure on
ARMv7, as reported at <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71399>.

commit f6ab85b7049a03962ea98924d00802da357a1ad3
Author: renlin <renlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Dec 2 14:06:31 2015 +0000

    [PR67383][ARM][4.9]Backport of "Allow any register for DImode values in Thumb2"
    
    This partially fix PR67383. It allows the reload more flexibility to choose
    spilling pseudo registers.
    
    
    gcc/ChangeLog:
    
    2015-12-02  Renlin Li  <renlin.li@arm.com>
    
            Backport from mainline.
            2014-04-22  Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
    
            * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
            restrictions on core registers for DImode values in Thumb2.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@231177 138bc75d-0d04-0410-961f-82ee72b054a4

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 8ba6060..d9028a1 100644
--- b/gcc/config/arm/arm.c
+++ a/gcc/config/arm/arm.c
@@ -22624,19 +22624,12 @@
     }
 
   /* We allow almost any value to be stored in the general registers.
-     Restrict doubleword quantities to even register pairs in ARM state
-     so that we can use ldrd.  Do not allow very large Neon structure
-     opaque modes in general registers; they would use too many.  */
+     Restrict doubleword quantities to even register pairs so that we can
+     use ldrd.  Do not allow very large Neon structure opaque modes in
+     general registers; they would use too many.  */
   if (regno <= LAST_ARM_REGNUM)
-    {
-      if (ARM_NUM_REGS (mode) > 4)
-	  return FALSE;
-
-      if (TARGET_THUMB2)
-	return TRUE;
-
-      return !(TARGET_LDRD && GET_MODE_SIZE (mode) > 4 && (regno & 1) != 0);
-    }
+    return !(TARGET_LDRD && GET_MODE_SIZE (mode) > 4 && (regno & 1) != 0)
+      && ARM_NUM_REGS (mode) <= 4;
 
   if (regno == FRAME_POINTER_REGNUM
       || regno == ARG_POINTER_REGNUM)
date it. (hydra-jobs.scm): Remove it. (cuirass-jobs.scm): Update it. * build-aux/hydra/evaluate.scm: Move it to ... * build-aux/cuirass/evaluate.scm: ... here. * build-aux/cuirass/guix-modular.scm: Remove it. * build-aux/cuirass/gnu-system.scm: Ditto. * guix/packages.scm (%hydra-supported-systems): Rename it to ... (%cuirass-supported-systems): ... this variable. * build-aux/check-final-inputs-self-contained: Adapt it. * etc/release-manifest.scm: Ditto. * gnu/ci.scm (package->alist): Remove it. (derivation->job): New procedure. (package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs, tarball-jobs): Use it. (guix-jobs): New procedure. (hydra-jobs): Rename it to ... (cuirass-jobs): ... this procedure. Mathieu Othacehe 2020-11-08maint: Reduce the package set for "i586-gnu"....* etc/release-manifest.scm (%base-packages/hurd): New variable. (%base-manifest): Use it when SYSTEM is "i586-gnu". Ludovic Courtès 2020-10-13installer: Add Emacs EXWM desktop environment....Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller. Jan (janneke) Nieuwenhuizen 2020-04-15Merge branch 'master' into core-updatesMarius Bakke 2020-04-14maint: Ensure substitutes are available for '%default-xorg-modules'....* etc/release-manifest.scm (%system-packages): Append %DEFAULT-XORG-MODULES. Ludovic Courtès 2020-04-14maint: Actually check for the availablility of system packages....* etc/release-manifest.scm (%system-manifest): New variable. <top level>: Add it in 'concatenate-manifests' call. Ludovic Courtès 2020-04-08maint: Adjust release manifest for Guile 3.0 switch....* etc/release-manifest.scm (%packages-to-cross-build): Refer to GUILE-3.0/FIXED instead of GUILE-2.2/FIXED. Marius Bakke 2020-04-08maint: Cross-build GUILE-2.2/FIXED....* etc/release-manifest.scm (%packages-to-cross-build): Replace "guile@2.2" with GUILE-2.2/FIXED. Ludovic Courtès 2020-04-07maint: Remove GCC from the packages to cross-build....* etc/release-manifest.scm (%packages-to-cross-build): Remove GCC. Ludovic Courtès 2020-04-04maint: Remove unsupported cross-compilation jobs from 'release-manifest.scm'....* etc/release-manifest.scm (%packages-to-cross-build-for-mingw): New variable. (%cross-manifest): Use it. Remove "riscv64-linux-gnu" from %CROSS-TARGETS. Ludovic Courtès 2020-03-13maint: Add 'etc/release-manifest.scm'....* etc/release-manifest.scm: New file. * gnu/ci.scm (%cross-targets): Export. * build-aux/check-available-binaries.scm: Remove. * Makefile.am (EXTRA_DIST): Add 'etc/release-manifest.scm' and remove 'build-aux/check-available-binaries.scm'. (assert-binaries-available): Rewrite using 'guix weather -m'. Ludovic Courtès