[Bug target/114232] [14 regression] ICE when building rr-5.7.0 with LTO on x86
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Mar 5 08:59:53 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114232
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
Huh, it looks that optimize_function_for_size_p (cfun) is not stable during
LTO?!
Using:
--cut here--
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md
index 2856ae6ffef..80114494b0b 100644
--- a/gcc/config/i386/mmx.md
+++ b/gcc/config/i386/mmx.md
@@ -2975,7 +2975,7 @@ (define_insn "<insn>v2qi3"
(match_operand:V2QI 1 "register_operand" "<comm>0,0,Yw")
(match_operand:V2QI 2 "register_operand" "Q,x,Yw")))
(clobber (reg:CC FLAGS_REG))]
- "!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)"
+ "!TARGET_PARTIAL_REG_STALL"
"#"
[(set_attr "isa" "*,sse2_noavx,avx")
(set_attr "type" "multi,sseadd,sseadd")
@@ -2987,7 +2987,7 @@ (define_split
(match_operand:V2QI 1 "general_reg_operand")
(match_operand:V2QI 2 "general_reg_operand")))
(clobber (reg:CC FLAGS_REG))]
- "(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
+ "!TARGET_PARTIAL_REG_STALL
&& reload_completed"
[(parallel
[(set (strict_low_part (match_dup 0))
@@ -3021,7 +3021,7 @@ (define_split
(match_operand:V2QI 1 "sse_reg_operand")
(match_operand:V2QI 2 "sse_reg_operand")))
(clobber (reg:CC FLAGS_REG))]
- "(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
+ "!TARGET_PARTIAL_REG_STALL
&& TARGET_SSE2 && reload_completed"
[(set (match_dup 0)
(plusminus:V16QI (match_dup 1) (match_dup 2)))]
--cut here--
So, removing optimize-size bypass successfully compiles the testcase.
More information about the Gcc-bugs
mailing list