summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp
diff options
context:
space:
mode:
authorSintendo <bram.speeckaert@gmail.com>2020-07-21 22:46:10 +0200
committerSintendo <bram.speeckaert@gmail.com>2020-07-28 23:17:18 +0200
commita52774ca639d01993e38dc4cc7c0010643ccfb60 (patch)
treebe6a2fd88cd1be498b501ab0217cd7590f2182b8 /Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp
parentb5d97561be708950e5171b5e842ab17e75b925a3 (diff)
Jit64: fselx - Add AVX path
AVX has a four-operand VBLENDVPD instruction, which allows for the first input and the destination to be different. By taking advantage of this, we no longer need to copy one of the inputs around and we can just reference it directly, provided it's already in a register (I have yet to see this not be the case). Before: 66 0F 57 C0 xorpd xmm0,xmm0 F2 41 0F C2 C6 06 cmpnlesd xmm0,xmm14 41 0F 28 CE movaps xmm1,xmm14 66 41 0F 38 15 CA blendvpd xmm1,xmm10,xmm0 F2 44 0F 10 F1 movsd xmm14,xmm1 After: 66 0F 57 C0 xorpd xmm0,xmm0 F2 41 0F C2 C6 06 cmpnlesd xmm0,xmm14 C4 C3 09 4B CA 00 vblendvpd xmm1,xmm14,xmm10,xmm0 F2 44 0F 10 F1 movsd xmm14,xmm1
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/Cursor.cpp')
0 files changed, 0 insertions, 0 deletions