https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123852

--- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This fixes the issue for me:
```
[apinski@xeond2 gcc]$ git diff
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 75ec87b8851..38b1e5fef1b 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -4527,7 +4527,7 @@ (define_insn_and_split "*negabs<mode>2"
 ;; instruction on SH4 202.
 (define_insn_and_split "negsi_cond"
   [(set (match_operand:SI 0 "arith_reg_dest" "=r,r")
-       (if_then_else
+       (if_then_else:SI
          (eq:SI (reg:SI T_REG) (match_operand:SI 3 "const_int_operand" "M,N"))
          (match_operand:SI 1 "arith_reg_operand" "0,0")
          (neg:SI (match_operand:SI 2 "arith_reg_operand" "r,r"))))]
@@ -4565,7 +4565,7 @@ (define_insn_and_split "negsi_cond"

 (define_insn_and_split "negdi_cond"
   [(set (match_operand:DI 0 "arith_reg_dest")
-       (if_then_else
+       (if_then_else:DI
          (eq:SI (reg:SI T_REG) (match_operand:SI 3 "const_int_operand"))
          (match_operand:DI 1 "arith_reg_operand")
          (neg:DI (match_operand:DI 2 "arith_reg_operand"))))
```

Signed-off-by: Andrew Pinski <[email protected]>


I don't have a way to fully test this so I will leave this to someone else.

Reply via email to