sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 25 May 2011 19:48:44 +0000 (21:48 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 25 May 2011 19:48:44 +0000 (21:48 +0200)
* config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.

From-SVN: r174224

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

index 1afef8e1ee0d9bbb0192297b6415d10e40455d10..a1da8c1e927ce80d3c8e277b58b382f09daa4e60 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
+
 2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/i386.md (*movqi_extv_1)): Put back
@@ -6,8 +10,7 @@
 
 2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * doc/extend.texi (X86 Built-in Functions): Update pause
-       intrinsic.
+       * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
 
 2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>
 
@@ -52,7 +55,7 @@
        PR tree-optimization/46728
        * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
        (execute_cse_sincos): Add switch case for BUILT_IN_POW.
-       
+
 2011-05-25  Nathan Froyd  <froydnj@codesourcery.com>
 
        * tree.h (struct tree_exp): Inherit from struct tree_typed.
        (go_finish): Create and delete invalid_hash.
 
 2011-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
-       
+
        PR tree-optimization/46728
        * tree-ssa-math-opts.c (powi_table): New.
        (powi_lookup_cost): New.
index 2bffb096f2a79233bc5a07634278c6c074eed0c1..058f82bb26dec8eff6461ff97858e7146231eed1 100644 (file)
    (set_attr "prefix" "vex")
    (set_attr "mode" "<ssescalarmode>")])
 
+(define_insn "*<sse>_maskcmp<mode>3_comm"
+  [(set (match_operand:VF 0 "register_operand" "=x,x")
+       (match_operator:VF 3 "sse_comparison_operator"
+         [(match_operand:VF 1 "register_operand" "%0,x")
+          (match_operand:VF 2 "nonimmediate_operand" "xm,xm")]))]
+  "TARGET_SSE
+   && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE"
+  "@
+   cmp%D3<ssemodesuffix>\t{%2, %0|%0, %2}
+   vcmp%D3<ssemodesuffix>\t{%2, %1, %0|%0, %1, %2}"
+  [(set_attr "isa" "noavx,avx")
+   (set_attr "type" "ssecmp")
+   (set_attr "length_immediate" "1")
+   (set_attr "prefix" "orig,vex")
+   (set_attr "mode" "<MODE>")])
+
 (define_insn "<sse>_maskcmp<mode>3"
   [(set (match_operand:VF 0 "register_operand" "=x,x")
        (match_operator:VF 3 "sse_comparison_operator"