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

--- Comment #2 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
(In reply to Hongtao Liu from comment #1)
> 3266(define_insn "<insn>v2qi3"
> 3267  [(set (match_operand:V2QI 0 "register_operand" "=?Q,x,Yw")
> 3268        (plusminus:V2QI
> 3269          (match_operand:V2QI 1 "register_operand" "<comm>0,0,Yw")
> 3270          (match_operand:V2QI 2 "register_operand" "Q,x,Yw")))
> 3271   (clobber (reg:CC FLAGS_REG))]
> 3272  "!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2"
> 3273  "#"
> 3274  [(set_attr "isa" "*,sse2_noavx,avx")
> 3275   (set_attr "type" "multi,sseadd,sseadd")
> 3276   (set_attr "mode" "QI,TI,TI")
> 3277   (set (attr "enabled")
> 3278        (cond [(and (eq_attr "alternative" "0")
> 3279                    (and (match_test "TARGET_PARTIAL_REG_STALL")
> 3280                         (not (match_test "optimize_function_for_size_p
> (cfun)"))))
> 3281                (symbol_ref "false")
> 3282              ]
> 3283              (const_string "*")))])
> 
> Looks like optmize_size is not equal to optimize_function_for_size_p (cfun)

Either change the pattern condition(and the below define_split) to
"!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun) ||
TARGET_SSE2" or change the test the (attr "enabled") to (not (match_test
"optimize_size")?

Reply via email to