[mips] Refine octeon instructions seq/seqi/sne/snei
authorKai Nacke <kai.nacke@redstar.de>
Wed, 14 Jan 2015 10:19:09 +0000 (10:19 +0000)
committerKai Nacke <kai.nacke@redstar.de>
Wed, 14 Jan 2015 10:19:09 +0000 (10:19 +0000)
commit92e28620d30bc461265e9dad7b752a79349ad639
tree39f825cea7856cee3e64cf2c4c1b8efa55fbebed
parent8da9819ca7d45879c64628605492aa772d14193d
[mips] Refine octeon instructions seq/seqi/sne/snei

This commit refines the pattern for the octeon seq/seqi/sne/snei instructions.
The target register is set to 0 or 1 according to the result of the comparison.
In C, this is something like

rd = (unsigned long)(rs == rt)

This commit adds a zext to bring the result to i64. With this change the
instruction is selected for this type of code. (gcc produces the same code for
the above C code.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225968 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/Mips64InstrInfo.td
test/CodeGen/Mips/octeon.ll