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
Parents
  • Note: This was originally posted on 13th June 2011 at http://forums.arm.com


    What is the pseudo instruction that will make a

    VBIC.I8 d0, #0x83
    and perfom 8 8-bit bit clear operations on each 8-bit values of the register???

    Same question for VBIC.I64 and VBIC.F32?


    I'm afraid there isn't one.  The actual available 64-bit immediates available for VBIC are the first six rows of Table A7-15 Modified immediate values for Advanced SIMD instructions (ARM ARM).

    For VBIC.I8 I think the only available immediate is #0 (which is not useful).  For I64 you could have:


      VBIC.I64 d0, #0x000000ab000000ab
      VBIC.I64 d0, #0x0000ab000000ab00
      VBIC.I64 d0, #0x00ab000000ab0000
      VBIC.I64 d0, #0xab000000ab000000
      VBIC.I64 d0, #0x00ab00ab00ab00ab
      VBIC.I64 d0, #0xab00ab00ab00ab00

    VBIC.F32 is just a synonym for VBIC.I32.

    Once you find a valid pseudo instruction, you can find out what it expands into by assembling and disassembling it.

    In order to accomplish, VBIC.I8 d0, #0x83 you'll need to do something like:


      VMOV.I8 d1, #0x83 ; does exist
      VBIC    d0, d0, d1
Reply
  • Note: This was originally posted on 13th June 2011 at http://forums.arm.com


    What is the pseudo instruction that will make a

    VBIC.I8 d0, #0x83
    and perfom 8 8-bit bit clear operations on each 8-bit values of the register???

    Same question for VBIC.I64 and VBIC.F32?


    I'm afraid there isn't one.  The actual available 64-bit immediates available for VBIC are the first six rows of Table A7-15 Modified immediate values for Advanced SIMD instructions (ARM ARM).

    For VBIC.I8 I think the only available immediate is #0 (which is not useful).  For I64 you could have:


      VBIC.I64 d0, #0x000000ab000000ab
      VBIC.I64 d0, #0x0000ab000000ab00
      VBIC.I64 d0, #0x00ab000000ab0000
      VBIC.I64 d0, #0xab000000ab000000
      VBIC.I64 d0, #0x00ab00ab00ab00ab
      VBIC.I64 d0, #0xab00ab00ab00ab00

    VBIC.F32 is just a synonym for VBIC.I32.

    Once you find a valid pseudo instruction, you can find out what it expands into by assembling and disassembling it.

    In order to accomplish, VBIC.I8 d0, #0x83 you'll need to do something like:


      VMOV.I8 d1, #0x83 ; does exist
      VBIC    d0, d0, d1
Children
No data