[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help with Hand-Optimized Assembly
From: |
Bill Woessner |
Subject: |
Re: Help with Hand-Optimized Assembly |
Date: |
Wed, 28 Mar 2012 18:29:56 -0000 |
User-agent: |
G2/1.0 |
On Jan 13, 4:59 am, Terje Mathisen <"terje.mathisen at
tmsw.no"@giganews.com> wrote:
> I'll second James' suggestion about SSE2!
I'm open to using SSE2. The only reason I used x87 is that I started
with the assembly code that g++ generated. By default, it generates
x87 instructions. But I'm certainly willing to try with SSE2
instructions.
> Anyway, it seem that what you are trying to do is to take the
> difference between two angles and then make sure that said
> difference will be in the [-pi .. pi> range, right?
That's it exactly. It's such a simple thing, but I can't come up with
a really elegant way to do it. The code generated by g++ involves a
jump. But I think this should be possible without a jump by using a
conditional move.
> Anyway, trying your original algorithm:
I'll give your implementation a try. A big part of the challenge (for
me, at least) is figuring out how to get this in to a form that g++
will understand. I don't really care where or how this is
implemented, but I need to be able to call it from C++. And it really
should be inline, as well. Otherwise, all the efficiency gained by
tweaking the assembly will be lost. :-p
Thanks,
Bill
Re: Help with Hand-Optimized Assembly, Bob Masta, 2012/03/28
Re: Help with Hand-Optimized Assembly, James Harris, 2012/03/28