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

--- Comment #1 from Waldemar Friedrich <anty_order at tlen dot pl> ---
additional info

changing code to 

  float someFloat = 10*argc;
  someFloat+=0.1f;
  long someInt = lrintf (someFloat);

does produce cvtss2si/vcvtss2si
but

  float someFloat = 10*argc;
  someFloat+=2.0f;
  long someInt = lrintf (someFloat);

don't

so it looks when it is assumed value is whole integer in nature it is cvttss2si
(truncation) otherwise cvtss2si (rounding)

Reply via email to