i386.c (x86_decompose_address): Fix commit.
authorUros Bizjak <uros@gcc.gnu.org>
Tue, 13 Mar 2012 20:14:10 +0000 (21:14 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 13 Mar 2012 20:14:10 +0000 (21:14 +0100)
* config/i386/i386.c (x86_decompose_address): Fix commit.

From-SVN: r185353

gcc/config/i386/i386.c

index 6eddebba3da2e19944a26ec3426f24d3ee74a886..c5c16e59278b4cd95c5489d428783e30e8297484 100644 (file)
@@ -11436,11 +11436,11 @@ ix86_decompose_address (rtx addr, struct ix86_address *out)
          addr = XEXP (addr, 0);
 
          /* Adjust SUBREGs.  */
-         if (GET_MODE (addr) == DImode)
-           addr = gen_rtx_SUBREG (SImode, addr, 0);
-         else if (GET_CODE (addr) == SUBREG
-                  && GET_MODE (SUBREG_REG (addr)) == SImode)
+         if (GET_CODE (addr) == SUBREG
+             && GET_MODE (SUBREG_REG (addr)) == SImode)
            addr = SUBREG_REG (addr);
+         else if (GET_MODE (addr) == DImode)
+           addr = gen_rtx_SUBREG (SImode, addr, 0);
          else
            return 0;
        }