https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82808
--- Comment #4 from prathamesh3492 at gcc dot gnu.org --- Created attachment 42535 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42535&action=edit Untested fix Hi, The issue here for propagating value of 'm' from f_c1 to foo() is that the jump function operation is FLOAT_EXPR, and the type of input param 'm' is int, so fold_unary() doesn't do the conversion to real_type. The attached patch fixes that by calling fold_convert if operation is FLOAT_EXPR and converts it to the type of corresponding parameter in callee. Does this look in the right direction ? I will validate the patch and post upstream if there are no regressions. Thanks, Prathamesh