Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

x86 SSE cvtdq2ps intruction

DSP related issues, mathematics, processing and techniques

x86 SSE cvtdq2ps intruction

Postby steph_tsf » Sat Mar 07, 2020 5:38 pm

Is Flowstone 3.0.4 supporting the cvtdq2ps x86 SSE2 instruction?

I am talking about the ConvoRev7fixed.frm that got posted by Martin Vicanek on Wed Jun 05, 2019 11:00 pm.
http://www.dsprobotics.com/support/viewtopic.php?f=4&t=3879&start=50.
The Frequency Domain Convolution (FDM) routine appears to rely on such instruction. Such instruction converts four packed signed doubleword integers from xmm2/mem to four packed single-precision floating-point values in xmm1. Is such instruction exploited for speeding up the real/imag Frequency Domain data processing?

By the way, such ConvoRev7fixed.frm embeds a Direct Convolution (DC) routine (purely operating in time-domain thus), that's not exploiting the cvtdq2ps x86 SSE2 instruction. Has anyone tried to exploit such Direct Convolution (DC) routine, as 32-tap FIR filter? Can we push and generalize such DC routine, for it to serve as freely (statically) configurable N-tap FIR filter with N, not necessary power of two, allowed to take any value between 2 and 256? Showing as Flowstone "ready made" component? We'll deal with the impulse response generator late, as companion. Thus, within in a few weeks, Flowstone could embed a standardized "DC FIR Filter" module, along with a "DC FIR Filter Controller" that's relying on splines for drawing some arbitrary frequency response curve, and may feature a "linear phase / minimum phase" selector, and may feature a few windowing options.

Have a nice day
steph_tsf
 
Posts: 249
Joined: Sun Aug 15, 2010 10:26 pm

Re: x86 SSE cvtdq2ps intruction

Postby trogluddite » Sat Mar 07, 2020 7:05 pm

Yes, cvtdq2ps is supported, as well as its inverse cvtps2dq - you quite often see them paired as a fast way to round a float to the nearest integer. I only had a very brief look at the code, but it seems to be used for array/memory references (e.g. movaps xmm0, variable[eax]), where the array offset in bytes, [eax], must be in integer form.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Re: x86 SSE cvtdq2ps intruction

Postby steph_tsf » Sat Mar 07, 2020 9:03 pm

trogluddite wrote:Yes, cvtdq2ps is supported
Quite bizarre, under Flowstone 3.0.4, the on-the-fly assembly code text coloring appears to get paralyzed, as soon as it encounters a code line that's embedding the cvtdq2ps instruction. Is Flowstone 3.0.8 behaving the same way?
steph_tsf
 
Posts: 249
Joined: Sun Aug 15, 2010 10:26 pm

Re: x86 SSE cvtdq2ps intruction

Postby trogluddite » Sat Mar 07, 2020 9:51 pm

That seems very strange - those opcodes have been available since the SM days, IIRC.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Re: x86 SSE cvtdq2ps intruction

Postby MichaelBenjamin » Sat Mar 07, 2020 10:12 pm

.
Last edited by MichaelBenjamin on Mon Sep 21, 2020 10:19 am, edited 1 time in total.
MichaelBenjamin
 
Posts: 275
Joined: Tue Jul 13, 2010 1:32 pm

Re: x86 SSE cvtdq2ps intruction

Postby adamszabo » Sun Mar 08, 2020 11:00 am

steph_tsf wrote: Quite bizarre, under Flowstone 3.0.4, the on-the-fly assembly code text coloring appears to get paralyzed, as soon as it encounters a code line that's embedding the cvtdq2ps instruction. Is Flowstone 3.0.8 behaving the same way?


cvtdq2ps, its working fine here
adamszabo
 
Posts: 657
Joined: Sun Jul 11, 2010 7:21 am


Return to DSP

Who is online

Users browsing this forum: No registered users and 17 guests

cron