From c0fd7c19a9ade560dbae1d04a8bee19deaca0c1f Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 3 Aug 2010 21:09:14 -0700 Subject: [sim,xcc] removed sll32/srl32/sra32 opcodes These instructions handled static shift amounts >= 32. Since we have a 6-bit shift amount field, these opcodes are no longer necessary. --- opcodes | 15 ++++++--------- parse-opcodes | 3 ++- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/opcodes b/opcodes index 2087c05..d79cd10 100644 --- a/opcodes +++ b/opcodes @@ -49,12 +49,9 @@ remu 31..25=0x75 14..12=1 11..5=7 rc rb ra sllv 31..25=0x75 14..12=4 11..5=1 rc rb ra srlv 31..25=0x75 14..12=4 11..5=2 rc rb ra srav 31..25=0x75 14..12=4 11..5=3 rc rb ra -sll 31..25=0x75 14..12=5 11..10=0 24..20=0 rc rb shamt -sll32 31..25=0x76 14..12=5 11..10=1 24..20=0 rc rb shamt -srl 31..25=0x75 14..12=6 11..10=0 24..20=0 rc rb shamt -srl32 31..25=0x76 14..12=6 11..10=1 24..20=0 rc rb shamt -sra 31..25=0x75 14..12=7 11..10=0 24..20=0 rc rb shamt -sra32 31..25=0x76 14..12=7 11..10=1 24..20=0 rc rb shamt +sll 31..25=0x75 14..12=5 11=0 24..20=0 rc rb shamt +srl 31..25=0x75 14..12=6 11=0 24..20=0 rc rb shamt +sra 31..25=0x75 14..12=7 11=0 24..20=0 rc rb shamt addw 31..25=0x76 14..12=0 11..5=0 rc rb ra subw 31..25=0x76 14..12=0 11..5=1 rc rb ra @@ -70,9 +67,9 @@ remuw 31..25=0x76 14..12=1 11..5=7 rc rb ra sllvw 31..25=0x76 14..12=4 11..5=1 rc rb ra srlvw 31..25=0x76 14..12=4 11..5=2 rc rb ra sravw 31..25=0x76 14..12=4 11..5=3 rc rb ra -sllw 31..25=0x76 14..12=5 11..10=0 24..20=0 rc rb shamt -srlw 31..25=0x76 14..12=6 11..10=0 24..20=0 rc rb shamt -sraw 31..25=0x76 14..12=7 11..10=0 24..20=0 rc rb shamt +sllw 31..25=0x76 14..12=5 11..10=0 24..20=0 rc rb shamtw +srlw 31..25=0x76 14..12=6 11..10=0 24..20=0 rc rb shamtw +sraw 31..25=0x76 14..12=7 11..10=0 24..20=0 rc rb shamtw lb 31..25=0x78 14..12=0 rb ra imm lh 31..25=0x78 14..12=1 rb ra imm diff --git a/parse-opcodes b/parse-opcodes index e9d0249..9d5d539 100755 --- a/parse-opcodes +++ b/parse-opcodes @@ -14,7 +14,8 @@ args['rc'] = (4,0) args['imm27'] = (26,0) args['imm20'] = (19,0) args['imm'] = (11,0) -args['shamt'] = (9,5) +args['shamt'] = (10,5) +args['shamtw'] = (9,5) args['fmt'] = (9,5) def binary(n, digits=0): -- cgit v1.2.3