It depends on what you do with the parameters. I mean, the next code:

Code:
  TheVariable := IFF (Something, TheVariable + 15, TheVariable * 2);
generates the same executable than:
Code:
  Tmp1 := TheVariable + 15;
  Tmp2 := TheVariable * 2;
  TheVariable := IFF (Something, Tmp1, Tmp2);
May be the compiler can optimize it but I doubt FPC or Delphi are so smart even with -O4. In that case C's "?:" would generate faster code.