This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Why is there no vector integer divide in SIMD instructions ?

For vector arithmetic, ADD, SUB, MUL are present for integers, but not DIV. Is that a performance impact ? Does other architectures not have it too ?

Parents Reply Children
  • They didn't think it worthwhile I guess, some other machines do the same. You might be interested in

    Division with NEON

    I did wonder about if the numbers aren't too large just treating them as denormalised and doing a floating point divide and convert to integer but that falls foul of the flush to zero in 32 bit ARM SIMD - and would look like a bit of nasty magic if it did work.

  • Thinking about it again, divide wouldn't be very useful without lots of options like for multiply. And if anything something like doubling multiply and scale and saturate to single would be a lot more interesting. One is always wanting to scale with the SIMD integer operations.