No announcement yet.

SIMD instructions

  • Filter
  • Time
  • Show
Clear All
new posts

  • SIMD instructions

    Request for help
    Using PB3.5 on PIII machine
    Trying to use SIMD instructions in PowerBASIC
    using $INLINE and variations thereof.
    Have tried both Windows98 and DOS

    CPUID instruction was used to determine that machine
    does have SIMD capability.
    executing the parallel addition instructiom
    register to register, appears parmissible.

    But attempts to move data to/from registers and to perform
    register/memory arithmetic would not work. Using PB from
    Windows when doing this results in illegal operation error
    and close of program. In DOS mode the program stops and after
    Ctrl-Pause, Escape, the instruction is highlighted in blue.

    The requisite registers mentioned in the manual were pushed
    and the data were aligned on 16 byte boundaries.

    Both 16 and 32 bit addressing(using the &h66 prefix) were tried.

    Any reasonable suggestion welcome. B.

  • #2
    Your experience reminds me of my own when adding some MMX capability 
    to a DOS application last year.  I finally wrote the ASM for MASM and 
    $LINKED the resulting OBJ to the PB app. 
    If you don't have MASM, it's now freely available as a download from 
    Microsoft (or was, the last time I checked).

    -- Greg
    [email protected]


    • #3
      Excellent description, Bernard! However, it is difficult to suggest solutions to a source code problem without being able see the source code in question.

      If you can post the code you are having problems with (in compilable form), you may have more luck without needing to resort to 3rd-party assemblers.

      PowerBASIC Support
      mailto:[email protected][email protected]</A>
      mailto:[email protected]