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

--- Comment #8 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Hongtao.liu from comment #7)
> Since we also allow something like (concat:(subreg) (subreg)), should we
> also allow subreg outside?
> 
>    gcc_checking_assert (!x
>                      || !(TREE_CODE (t) == SSA_NAME || is_gimple_reg (t))
>                      || (use_register_for_decl (t)
> -                        ? (REG_P (x)
> +                        ? (REG_P (x) || SUBREG_P (x)
>                             || (GET_CODE (x) == CONCAT
>                                 && (REG_P (XEXP (x, 0))
>                                     || SUBREG_P (XEXP (x, 0)))
> 
> 

It can also fix FAIL: gcc.dg/torture/builtin-attr-1.c   -O1  (internal compiler
error)

for builtin-attr-1.c assembly is the same as the one built without my, but for
for __muldc3, there's a little bit difference caused by rtl optimization.

Reply via email to