]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sse.md (sse3_mwait): Swap the operand constriants.
authorVenkataramanan Kumar <venkataramanan.kumar@amd.com>
Mon, 8 Jun 2015 10:18:02 +0000 (10:18 +0000)
committerVenkataramanan Kumar <vekumar@gcc.gnu.org>
Mon, 8 Jun 2015 10:18:02 +0000 (10:18 +0000)
2015-06-08  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * config/i386/sse.md (sse3_mwait): Swap the operand constriants.

From-SVN: r224214

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

index 512d82789ee7184438bca99f8eb720314599fa4f..09dbbcb4582508f34205c94cf948ecd4344e4775 100644 (file)
@@ -1,3 +1,7 @@
+2015-06-08  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+       * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
+
 2015-06-03  Jakub Jelinek  <jakub@redhat.com>
 
        Backported from mainline
index 5973b3423b056f8ef4c3b1e42b93eb3eb2c3044a..8f5120f2ef7340542263f1ba8b157d2fe2e6e2e6 100644 (file)
    (set_attr "atom_sse_attr" "fence")
    (set_attr "memory" "unknown")])
 
-
+;; As per AMD and Intel ISA manuals, the first operand is extensions
+;; and it goes to %ecx. The second operand received is hints and it goes
+;; to %eax.
 (define_insn "sse3_mwait"
-  [(unspec_volatile [(match_operand:SI 0 "register_operand" "a")
-                    (match_operand:SI 1 "register_operand" "c")]
+  [(unspec_volatile [(match_operand:SI 0 "register_operand" "c")
+                    (match_operand:SI 1 "register_operand" "a")]
                    UNSPECV_MWAIT)]
   "TARGET_SSE3"
 ;; 64bit version is "mwait %rax,%rcx". But only lower 32bits are used.