[Bug target/95218] [11 Regression] FAIL: gcc.target/i386/fma_run_double_1.c execution test since r11-455-g94f687bd9ae37ece

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 20 13:13:44 GMT 2020


--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note a 'use' is not something that needs to be preserved, so

(define_insn_and_split "*<code><mode>2"
  [(set (match_operand:VF 0 "register_operand" "=x,v")
          (match_operand:VF 1 "vector_operand" "%0,v")))
   (use (match_operand:VF 2 "vector_operand" "xBm,vm"))]
  "&& reload_completed"
  [(set (match_dup 0)
        (<absneg_op>:VF (match_dup 1) (match_dup 2)))]
  [(set_attr "isa" "noavx,avx")])

doesn't make much sense (before reload).  To me, that is.  Why do
we go that obfuscated way at all?  I think a clean solution is to
use an UNSPEC here (well, "clean"...).

More information about the Gcc-bugs mailing list