[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