diff options
author | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2010-09-09 17:50:10 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2010-09-09 17:50:10 -0700 |
commit | dec4d30f8eb897ef4089df6fa5605cf7a5e35b30 (patch) | |
tree | 81d521a3aa140d22c14831054c2fcef441db5730 /opcodes | |
parent | 87ae9bc7df58d6b0610b2b8bec0a3dcdb61ecf0b (diff) |
Revert "[xcc, sim] added slei/sleui in lieu of slti/sltiu"
This reverts commit bf5406d4df625678bc6ec20ce1d48541541dba54.
We found a clever way to efficiently implement slti/sltiu despite the
reversed operands. The trick is because of the following fact:
(a < b) === !(b <= a) === !(b-1 < a)
So just turn off the carry-in when doing the subtraction for the comparison.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -22,8 +22,8 @@ bleu 31..25=0x73 14..12=5 ra rb imm addi 31..25=0x74 14..12=0 ra rb imm addiw 31..25=0x74 14..12=1 ra rb imm -slei 31..25=0x74 14..12=2 ra rb imm -sleiu 31..25=0x74 14..12=3 ra rb imm +slti 31..25=0x74 14..12=2 ra rb imm +sltiu 31..25=0x74 14..12=3 ra rb imm andi 31..25=0x74 14..12=4 ra rb imm ori 31..25=0x74 14..12=5 ra rb imm xori 31..25=0x74 14..12=6 ra rb imm |