]> 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:12:26 +0000 (21:12 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 26 Jan 2015 20:12:26 +0000 (21:12 +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: r220132

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

index 5ac33b2a4a3a372f15623dec31004a7ffe89510e..49dee667ef2ffe1b633fce13105f00eb44b50cb2 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-23  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/64734
index cd7eadb55d9c98f1f949d6db166f37fe7dd58a81..79e2301117c04b298276a0e6c20f32f04e795ed3 100644 (file)
              (const_string "ssemov")
            (eq_attr "alternative" "19,20")
              (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,12")
              (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 c700425dc2c63e49e23d1353399a2f8ee82a0a7b..5a62572b0cd78e490b94003c27a05e95b2d08e10 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")])