]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR target/64795 (too many memory references for `lea')
authorUros Bizjak <ubizjak@gmail.com>
Mon, 26 Jan 2015 20:49:22 +0000 (21:49 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 26 Jan 2015 20:49:22 +0000 (21:49 +0100)
Backport from mainline
2015-01-26  Uros Bizjak  <ubizjak@gmail.com>

PR target/64795
* config/i386/i386.md (*movdi_internal): Also check operand 0
to determine TYPE_LEA operand.
(*movsi_internal): Ditto.

Backport from mainline
2015-01-23  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
alternative 1.

From-SVN: r220134

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

index 177ffd16f87105adeebd0cc504e613df270ff601..a1283d165a54007d071633097ebe537e453c6539 100644 (file)
@@ -1,3 +1,19 @@
+2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/64795
+       * config/i386/i386.md (*movdi_internal): Also check operand 0
+       to determine TYPE_LEA operand.
+       (*movsi_internal): Ditto.
+
+       Backport from mainline
+       2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
+       alternative 1.
+
 2015-01-15  Martin Liska  <mliska@suse.cz>
 
        Backport from mainline
        * config/pa/pa.md (trap): New insn.  Add "trap" to attribute type.
        Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
        or in_call_delay.
-       
+
 2014-11-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
index 24e93f9f41a70460fe6aaf771263ea985663b6cb..372ae63f03d4c21585d6a18ac17e3cf691cfa19c 100644 (file)
              (const_string "ssemov")
            (eq_attr "alternative" "15,16")
              (const_string "ssecvt")
-           (match_operand 1 "pic_32bit_operand")
+           (and (match_operand 0 "register_operand")
+                (match_operand 1 "pic_32bit_operand"))
              (const_string "lea")
           ]
           (const_string "imov")))
              (const_string "sselog1")
            (eq_attr "alternative" "7,8,9,10,11")
              (const_string "ssemov")
-           (match_operand 1 "pic_32bit_operand")
+           (and (match_operand 0 "register_operand")
+                (match_operand 1 "pic_32bit_operand"))
              (const_string "lea")
           ]
           (const_string "imov")))
index cba540107c50e4807c4f86cd0f1c6f4086c7e3aa..bc47bb4067adc5a52fea345005d3c3774d0eb743 100644 (file)
    movss\t{%2, %0|%0, %2}
    movss\t{%2, %0|%0, %2}
    vmovss\t{%2, %1, %0|%0, %1, %2}"
-  [(set_attr "isa" "sse2,*,noavx,noavx,avx")
+  [(set_attr "isa" "sse2,sse2,noavx,noavx,avx")
    (set_attr "type" "ssemov")
    (set_attr "prefix" "maybe_vex,maybe_vex,orig,orig,vex")
    (set_attr "mode" "TI,TI,V4SF,SF,SF")])