This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arithmetic HI+PSI


>> When I add a pointer (PSImode) with an int (HImode) (ex: sp-=cnt) ,
>> gcc expands the signed int by zero_extend'ing ?the int and then adding
>> both PSI values (instead of sign extending).
>> How should I fix this ?
>> POINTERS_EXTEND_UNSIGNED is 0.
>
> As far as I know the int will be converted to SIZE_TYPE before being> added to the pointer. ?Converting a signed int to SIZE_TYPE should sign> extend if SIZE_TYPE is larger than int. ?I don't know why you are not> seeing that.
OK, I assume the problem is also linked to the size_t which does not
have the correct size (or a crash occurs during the
tree_ssa_loop_ivopts pass).
So I will try and fix the ssa ivopt crash first.

thanks for your help!
Aurélien


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]