i386.c (ix86_split_idivmod): Use mode instead of always SImode for DIV and MOD in...
authorJakub Jelinek <jakub@redhat.com>
Sat, 30 Sep 2017 07:59:27 +0000 (09:59 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 30 Sep 2017 07:59:27 +0000 (09:59 +0200)
* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
always SImode for DIV and MOD in REG_EQUAL notes.

From-SVN: r253316

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

index 2063108fdfb7ca394855314d6509ba1f47b0d75e..7cae1deeef859acdf102f6eb9d4e11f7f113ecc8 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (ix86_split_idivmod): Use mode instead of
+       always SImode for DIV and MOD in REG_EQUAL notes.
+
 2017-09-29  Yury Gribov  <tetra2005@gmail.com>
 
        PR middle-end/82319
index 98fb1ce47cbe6b0d3d86cf5c83f2bc47fd1a9d94..4a212153e4b9c207d4a807d07a268ceed9a6239d 100644 (file)
@@ -21980,13 +21980,13 @@ ix86_split_idivmod (machine_mode mode, rtx operands[],
 
   if (signed_p)
     {
-      div = gen_rtx_DIV (SImode, operands[2], operands[3]);
-      mod = gen_rtx_MOD (SImode, operands[2], operands[3]);
+      div = gen_rtx_DIV (mode, operands[2], operands[3]);
+      mod = gen_rtx_MOD (mode, operands[2], operands[3]);
     }
   else
     {
-      div = gen_rtx_UDIV (SImode, operands[2], operands[3]);
-      mod = gen_rtx_UMOD (SImode, operands[2], operands[3]);
+      div = gen_rtx_UDIV (mode, operands[2], operands[3]);
+      mod = gen_rtx_UMOD (mode, operands[2], operands[3]);
     }
 
   /* Extract remainder from AH.  */