Changed the sign extension function from mine to the provided one. Mine relied on...
authorGabe Black <gblack@eecs.umich.edu>
Thu, 12 Oct 2006 21:39:15 +0000 (17:39 -0400)
committerGabe Black <gblack@eecs.umich.edu>
Thu, 12 Oct 2006 21:39:15 +0000 (17:39 -0400)
--HG--
extra : convert_revision : 4f5ef44d012de87919ad681024fe2ed0213a412f

src/arch/sparc/isa/formats/branch.isa
src/arch/sparc/isa/formats/integerop.isa

index 2c206354b40f7def2ea8848dc279efa1302e84eb..5fb7ade2da5d5b25ec8e5831a9ddaf9f8ffa5fda 100644 (file)
@@ -80,7 +80,7 @@ output header {{
                     OpClass __opClass) :
                 BranchDisp(mnem, _machInst, __opClass)
             {
-                disp = sign_ext(_machInst << 2, bits + 2);
+                disp = sext<bits + 2>((_machInst & mask(bits)) << 2);
             }
         };
 
@@ -95,7 +95,7 @@ output header {{
                     OpClass __opClass) :
                 BranchDisp(mnem, _machInst, __opClass)
             {
-                disp = sign_ext((D16HI << 16) | (D16LO << 2), 18);
+                disp = sext<18>((D16HI << 16) | (D16LO << 2));
             }
         };
 
@@ -108,7 +108,7 @@ output header {{
           protected:
             // Constructor
             BranchImm13(const char *mnem, MachInst _machInst, OpClass __opClass) :
-                Branch(mnem, _machInst, __opClass), imm(sign_ext(SIMM13, 13))
+                Branch(mnem, _machInst, __opClass), imm(sext<13>(SIMM13))
             {
             }
 
index 83c7e695891c0aecc8e19a031156182c64c51de5..0304a10640cfdf82bc6955ff690ba32e6f1ebc94 100644 (file)
@@ -87,7 +87,7 @@ output header {{
                     OpClass __opClass) :
                 IntOpImm(mnem, _machInst, __opClass)
             {
-                imm = sign_ext(SIMM10, 10);
+                imm = sext<10>(SIMM10);
             }
         };
 
@@ -102,7 +102,7 @@ output header {{
                     OpClass __opClass) :
                 IntOpImm(mnem, _machInst, __opClass)
             {
-                imm = sign_ext(SIMM11, 11);
+                imm = sext<11>(SIMM11);
             }
         };
 
@@ -117,7 +117,7 @@ output header {{
                     OpClass __opClass) :
                 IntOpImm(mnem, _machInst, __opClass)
             {
-                imm = sign_ext(SIMM13, 13);
+                imm = sext<13>(SIMM13);
             }
         };