Hi:
  d->flag is always 0 for builtins located in
BDESC_FIRST (comi,COMI,...)
...
BDESC_END (COMI, PCMPESTR)
  So the condition can be deleted, so did BUILTIN_DESC_SWAP_OPERANDS.

  Regtested and bootstrapped on x86_64-linux-gnu{-m32,}.

gcc/ChangeLog:
        PR target/98612
        * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS):
        Deleted.
        * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete
        dead code.
---
 gcc/config/i386/i386-builtins.h | 4 ----
 gcc/config/i386/i386-expand.c   | 5 -----
 2 files changed, 9 deletions(-)

diff --git a/gcc/config/i386/i386-builtins.h b/gcc/config/i386/i386-builtins.h
index bb364458878..0641808c7a7 100644
--- a/gcc/config/i386/i386-builtins.h
+++ b/gcc/config/i386/i386-builtins.h
@@ -236,10 +236,6 @@ struct builtin_isa {

 /* Bits for builtin_description.flag.  */

-/* Set when we don't support the comparison natively, and should
-   swap_comparison in order to support it.  */
-#define BUILTIN_DESC_SWAP_OPERANDS     1
-
 struct builtin_description
 {
   const HOST_WIDE_INT mask;
diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c
index 85ea2605696..d793e5a5bce 100644
--- a/gcc/config/i386/i386-expand.c
+++ b/gcc/config/i386/i386-expand.c
@@ -8634,11 +8634,6 @@ ix86_expand_sse_comi (const struct
builtin_description *d, tree exp,
   if (VECTOR_MODE_P (mode1))
     op1 = safe_vector_operand (op1, mode1);

-  /* Swap operands if we have a comparison that isn't available in
-     hardware.  */
-  if (d->flag & BUILTIN_DESC_SWAP_OPERANDS)
-    std::swap (op0, op1);
-
   target = gen_reg_rtx (SImode);
   emit_move_insn (target, const0_rtx);
   target = gen_rtx_SUBREG (QImode, target, 0);
-- 
2.18.1

-- 
BR,
Hongtao

Reply via email to