re PR target/79514 (ICE in curr_insn_transform, at lra-constraints.c:3773)
authorUros Bizjak <ubizjak@gmail.com>
Fri, 3 Mar 2017 09:18:01 +0000 (10:18 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 3 Mar 2017 09:18:01 +0000 (10:18 +0100)
PR target/79514
* config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.

From-SVN: r245861

gcc/ChangeLog
gcc/config/i386/i386.md

index 73b2f215a791a4aae92e70c8ad1cdf7ab1e0d6f5..c99d7edb8e984d65ebb8bcddd75197ac07ec84c2 100644 (file)
@@ -1,3 +1,8 @@
+2017-03-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/79514
+       * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
+
 2017-03-03  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/79818
index f9f362eb2445650f54abd2249fc1794564750b4d..49ea9c04c5f30296b7b0be0a8c471164cc341b4b 100644 (file)
 
 (define_insn_and_split "*pushxf_rounded"
   [(set (mem:XF
-         (pre_modify:DI
-           (reg:DI SP_REG)
-           (plus:DI (reg:DI SP_REG) (const_int -16))))
+         (pre_modify:P
+           (reg:P SP_REG)
+           (plus:P (reg:P SP_REG) (const_int -16))))
        (match_operand:XF 0 "nonmemory_no_elim_operand" "f,r,*r,C"))]
   "TARGET_64BIT"
   "#"
   "&& 1"
-  [(set (reg:DI SP_REG) (plus:DI (reg:DI SP_REG) (const_int -16)))
+  [(set (reg:P SP_REG) (plus:P (reg:P SP_REG) (const_int -16)))
    (set (match_dup 1) (match_dup 0))]
 {
   rtx pat = PATTERN (curr_insn);