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 SASX,SSAX,SADD16,SADD are not supported in ARMv8?

Hi, actually i need to do the conversion of 32-bit into 64-bit while doing that i came to know that many of the instructions that supports in ARMv7 not supporting in ARMv8 example: RSB, SASX, SSAX, SADD16, SADD what is the alternative instructions in ARMv8?

Parents
  • A pity about RSB. You can negate easily using r31 as in SUB w1,wzr,w1 but 7-i requires two instructions (unless you want to be excessively tricky and do i eor 7 for i in 0 to 7)

    The arithmetic operations have had all the SIMD type features removed I'm afraid. If you need efficiency with instructions like that those you'd need to use the  SIMD instructions. On the other hand using those you can probably save quite a bit of time as you'd be able to deal with 128 bits at a time rather than 32.

    It's probably worth trying to use C rather than assembler and using the ARM C neon intrinsics for the job

    As to reasons I guess they are trying to make normal simple arithmetic which is responsible for the majority of branches even in SIMD code as straightforward and fast as possible and do all the SIMD stuff in one place dedicated to the job. They also seem to be concentrating their efforts on supporting what can be expressed reasonably easily in high level languages like C.

Reply
  • A pity about RSB. You can negate easily using r31 as in SUB w1,wzr,w1 but 7-i requires two instructions (unless you want to be excessively tricky and do i eor 7 for i in 0 to 7)

    The arithmetic operations have had all the SIMD type features removed I'm afraid. If you need efficiency with instructions like that those you'd need to use the  SIMD instructions. On the other hand using those you can probably save quite a bit of time as you'd be able to deal with 128 bits at a time rather than 32.

    It's probably worth trying to use C rather than assembler and using the ARM C neon intrinsics for the job

    As to reasons I guess they are trying to make normal simple arithmetic which is responsible for the majority of branches even in SIMD code as straightforward and fast as possible and do all the SIMD stuff in one place dedicated to the job. They also seem to be concentrating their efforts on supporting what can be expressed reasonably easily in high level languages like C.

Children
No data