Sanjay Patel
|
309c4f93e5
|
[x86] replace integer logic ops with packed SSE FP logic ops
If we have an operand to a bitwise logic op that's already in
an XMM register and the result is going to be sent to an XMM
register, then use an SSE logic op to avoid moves between the
integer and vector register files.
Related commits:
http://reviews.llvm.org/rL248395
http://reviews.llvm.org/rL248399
http://reviews.llvm.org/rL248404
http://reviews.llvm.org/rL248409
http://reviews.llvm.org/rL248415
This should solve PR22428:
https://llvm.org/bugs/show_bug.cgi?id=22428
llvm-svn: 251378
|
2015-10-27 01:28:07 +00:00 |
Sanjay Patel
|
28d1598e5b
|
add FP logic test cases to show current codegen (PR22428)
llvm-svn: 251370
|
2015-10-26 23:52:42 +00:00 |
Sanjay Patel
|
1a6534661b
|
[x86] replace integer 'xor' ops with packed SSE FP 'xor' ops when operating on FP scalars
Turn this:
movd %xmm0, %eax
movd %xmm1, %ecx
xorl %eax, %ecx
movd %ecx, %xmm0
into this:
xorps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
This is an extension of:
http://reviews.llvm.org/rL248395
llvm-svn: 248415
|
2015-09-23 18:33:42 +00:00 |
Sanjay Patel
|
aba37553c4
|
[x86] replace integer 'or' ops with packed SSE FP 'or' ops when operating on FP scalars
Turn this:
movd %xmm0, %eax
movd %xmm1, %ecx
orl %eax, %ecx
movd %ecx, %xmm0
into this:
orps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
This is an extension of:
http://reviews.llvm.org/rL248395
llvm-svn: 248409
|
2015-09-23 18:19:07 +00:00 |
Sanjay Patel
|
df2495f331
|
[x86] replace integer 'and' ops with packed SSE FP 'and' ops when operating on FP scalars
Turn this:
movd %xmm0, %eax
movd %xmm1, %ecx
andl %eax, %ecx
movd %ecx, %xmm0
into this:
andps %xmm1, %xmm0
This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428
Differential Revision: http://reviews.llvm.org/D13065
llvm-svn: 248395
|
2015-09-23 17:00:06 +00:00 |
Sanjay Patel
|
bab5d6c636
|
add test file ahead of any functional changes for PR22428
llvm-svn: 248123
|
2015-09-20 15:58:00 +00:00 |