From c497c412b4f86260b62e8105cf983d204a9ccc86 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Wed, 25 May 2011 21:48:44 +0200 Subject: [PATCH] sse.md (*_maskcmp3_comm): New pattern. * config/i386/sse.md (*_maskcmp3_comm): New pattern. From-SVN: r174224 --- gcc/ChangeLog | 11 +++++++---- gcc/config/i386/sse.md | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1afef8e1ee0..a1da8c1e927 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-05-25 Uros Bizjak + + * config/i386/sse.md (*_maskcmp3_comm): New pattern. + 2011-05-25 H.J. Lu * config/i386/i386.md (*movqi_extv_1)): Put back @@ -6,8 +10,7 @@ 2011-05-25 H.J. Lu - * 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 @@ -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 * tree.h (struct tree_exp): Inherit from struct tree_typed. @@ -204,7 +207,7 @@ (go_finish): Create and delete invalid_hash. 2011-05-24 Bill Schmidt - + PR tree-optimization/46728 * tree-ssa-math-opts.c (powi_table): New. (powi_lookup_cost): New. diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 2bffb096f2a..058f82bb26d 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -1184,6 +1184,22 @@ (set_attr "prefix" "vex") (set_attr "mode" "")]) +(define_insn "*_maskcmp3_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\t{%2, %0|%0, %2} + vcmp%D3\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" "")]) + (define_insn "_maskcmp3" [(set (match_operand:VF 0 "register_operand" "=x,x") (match_operator:VF 3 "sse_comparison_operator"