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: What pattern should I use to get a CMOV?


On 11/14/15, Jeffrey Walton <noloader@gmail.com> 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


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