* config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Mar 2012 11:18:06 +0000 (11:18 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Mar 2012 11:18:06 +0000 (11:18 +0000)
If operand isn't UNSPEC, return 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185568 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c

index b9378ea..d2dcbe5 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
+       If operand isn't UNSPEC, return 0.
+
 2012-03-20  Richard Guenther  <rguenther@suse.de>
 
        * tree-pass.h (pass_rtl_eh): Remove.
index cf673fd..2410236 100644 (file)
@@ -11516,6 +11516,8 @@ ix86_decompose_address (rtx addr, struct ix86_address *out)
 
            case ZERO_EXTEND:
              op = XEXP (op, 0);
+             if (GET_CODE (op) != UNSPEC)
+               return 0;
              /* FALLTHRU */
 
            case UNSPEC: