On Sat, Nov 14, 2015 at 5:04 PM, NightStrike <nightstrike@xxxxxxxxx> wrote: > On 11/14/15, Jeffrey Walton <noloader@xxxxxxxxx> wrote: >> I'm trying to ensure I get a conditional move if its available during >> a saturating subtract operation. The saturating subtract clamps the >> min value at 0. >> >> Here's what it looks like in high level code: >> >> // Perform a-b, clamp at 0 >> return (a > b) ? (a - b) : 0; >> >> But based on this bug report: >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22568, I can't tell if >> that's what I should be using. >> >> What pattern should I use to get a CMOV? >> >> Thanks in advance. > > This should help. > > https://gcc.gnu.org/ml/gcc-help/2014-10/msg00112.html > > And look apt halfway down here at the answer from Jorge: > > http://stackoverflow.com/questions/427477/fastest-way-to-clamp-a-real-fixed-floating-point-value Direct link: http://stackoverflow.com/a/16659263/136285 -- Mathieu