Skip to content
Snippets Groups Projects

x86inc: Misc. improvements

Merged Henrik Gramner requested to merge gramner/x264:x86inc_changes_2202 into master
  1. Feb 21, 2022
    • Henrik Gramner's avatar
      x86inc: Add REPX macro to repeat instructions/operations · 6d10612a
      Henrik Gramner authored
      When operating on large blocks of data it's common to repeatedly use
      an instruction on multiple registers. Using the REPX macro makes it
      easy to quickly write dense code to achieve this without having to
      explicitly duplicate the same instruction over and over.
      
      For example,
      
          REPX {paddw x, m4}, m0, m1, m2, m3
          REPX {mova [r0+16*x], m5}, 0, 1, 2, 3
      
      will expand to
      
          paddw       m0, m4
          paddw       m1, m4
          paddw       m2, m4
          paddw       m3, m4
          mova [r0+16*0], m5
          mova [r0+16*1], m5
          mova [r0+16*2], m5
          mova [r0+16*3], m5
      6d10612a
    • Henrik Gramner's avatar
      x86inc: Fix edge case in forced VEX-encoding · f52e5e11
      Henrik Gramner authored
      Correctly handle emulation of 4-operand instructions (e.g. 'shufps')
      where src1 is a memory operand.
      f52e5e11
  2. Feb 19, 2022
Loading