Improve SkARGB32_A8_BlitMask_SSE2
With clang this:
- movzbl -3(%rbx), %edx
- pxor %xmm5, %xmm5
- pinsrw $0, %edx, %xmm5
- pinsrw $1, %edx, %xmm5
- movzbl -2(%rbx), %edx
- pinsrw $2, %edx, %xmm5
- pinsrw $3, %edx, %xmm5
- movzbl -1(%rbx), %edx
- pinsrw $4, %edx, %xmm5
- pinsrw $5, %edx, %xmm5
- movzbl (%rbx), %edx
- pinsrw $6, %edx, %xmm5
- pinsrw $7, %edx, %xmm5
becomes:
+ movd (%rbx), %xmm4
+ punpcklbw %xmm9, %xmm4
+ punpcklwd %xmm4, %xmm4
And clang already does better codegen than msvc 2013 on this.
BUG=skia:
Review URL: https://codereview.chromium.org/609823003
2 files changed