[Fwd: BUG x86 define_expand "strlensi" is using unitialised variables]

grahams grahams@rcp.co.uk
Thu Feb 17 02:16:00 GMT 2000


Hi 

I am resending this to the correct list

grahams wrote:
> 
> All
> 
> The define_expand "strlensi" pattern is using uninitialised variables
> eoschar and align.
> 
> Here the appropriate extract from i386.md
> 
> (define_expand "strlensi"  [(set (match_operand:SI 0 "register_operand" "")
>        (unspec:SI [(match_operand:BLK 1 "general_operand" "")
>                    (match_operand:QI 2 "immediate_operand" "")
>                    (match_operand:SI 3 "immediate_operand" "")] 0))]  ""
>  "
> {
> 
>   rtx out, addr, eoschar, align, scratch1, scratch2, scratch3;
> 
>   /* The generic case of strlen expander is long.  Avoid it's
>      expanding unless TARGET_INLINE_ALL_STRINGOPS.  */
> 
>   if (TARGET_UNROLL_STRLEN && eoschar == const0_rtx && optimize > 1
>       && !optimize_size
>       && (GET_CODE (align) != CONST_INT || INTVAL (align) < 4))
>     FAIL;
> 
> Graham


More information about the Gcc-bugs mailing list