Rely on assembler to relax far branches
authorAndrew Waterman <waterman@cs.berkeley.edu>
Thu, 4 Dec 2014 01:48:17 +0000 (17:48 -0800)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Thu, 4 Dec 2014 01:48:17 +0000 (17:48 -0800)
isa/macros/scalar/test_macros.h

index 5250a19f1710a8fe8c39153a4aa42706d2d10782..5b2b8e59eab3a40d07ed21d33b4daeb749083413 100644 (file)
@@ -13,15 +13,6 @@ test_ ## testnum: \
     li  TESTNUM, testnum; \
     bne testreg, x29, fail;
 
     li  TESTNUM, testnum; \
     bne testreg, x29, fail;
 
-#define TEST_CASE_JUMP( testnum, testreg, correctval, code... ) \
-test_ ## testnum: \
-    code; \
-    li  x29, correctval; \
-    li  TESTNUM, testnum; \
-    beq testreg, x29, pass_ ## testnum; \
-    j fail; \
-pass_ ## testnum: \
-
 # We use a macro hack to simpify code generation for various numbers
 # of bubble cycles.
 
 # We use a macro hack to simpify code generation for various numbers
 # of bubble cycles.
 
@@ -99,7 +90,7 @@ pass_ ## testnum: \
 #-----------------------------------------------------------------------
 
 #define TEST_VSETCFGIVL( testnum, nxpr, nfpr, bank, vl, result ) \
 #-----------------------------------------------------------------------
 
 #define TEST_VSETCFGIVL( testnum, nxpr, nfpr, bank, vl, result ) \
-    TEST_CASE_JUMP( testnum, x1, result, \
+    TEST_CASE( testnum, x1, result, \
       li x1, (bank << 12); \
       vsetcfg x1,nxpr,nfpr; \
       li x1, vl; \
       li x1, (bank << 12); \
       vsetcfg x1,nxpr,nfpr; \
       li x1, vl; \
@@ -107,7 +98,7 @@ pass_ ## testnum: \
     )
 
 #define TEST_VVCFG( testnum, nxpr, nfpr, bank, vl, result ) \
     )
 
 #define TEST_VVCFG( testnum, nxpr, nfpr, bank, vl, result ) \
-    TEST_CASE_JUMP( testnum, x1, result, \
+    TEST_CASE( testnum, x1, result, \
       li x1, (bank << 12) | (nfpr << 6) | nxpr; \
       vsetcfg x1; \
       li x1, vl; \
       li x1, (bank << 12) | (nfpr << 6) | nxpr; \
       vsetcfg x1; \
       li x1, vl; \
@@ -115,7 +106,7 @@ pass_ ## testnum: \
     )
 
 #define TEST_VSETVL( testnum, nxpr, nfpr, bank, vl, result ) \
     )
 
 #define TEST_VSETVL( testnum, nxpr, nfpr, bank, vl, result ) \
-    TEST_CASE_JUMP( testnum, x1, result, \
+    TEST_CASE( testnum, x1, result, \
       li x1, (bank << 12); \
       vsetcfg x1,nxpr,nfpr; \
       li x1, vl; \
       li x1, (bank << 12); \
       vsetcfg x1,nxpr,nfpr; \
       li x1, vl; \