Fix SR_U64 bit being ignored
authorAndrew Waterman <waterman@cs.berkeley.edu>
Sat, 13 Jul 2013 01:20:16 +0000 (18:20 -0700)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Sat, 13 Jul 2013 01:23:55 +0000 (18:23 -0700)
riscv/dispatch

index 231853cb1881d949c74e25ca07dd76cd1d65606c..5afc3be3d9be97d72c81671e96096c5aa816caf5 100755 (executable)
@@ -49,7 +49,7 @@ if filenum == numfiles:
 
 if filenum == numfiles+1:
   print '#define get_insn_func(insn, sr) \\'
-  print '  processor_t::dispatch_table[((((sr) & SR_S) ? (sr & SR_S64) : (SR_U64)) ? %d : 0) + ((insn).bits %% %d)]' % (tablesz, tablesz)
+  print '  processor_t::dispatch_table[((((sr) & SR_S) ? (sr & SR_S64) : (sr & SR_U64)) ? %d : 0) + ((insn).bits %% %d)]' % (tablesz, tablesz)
   
   print 'static const insn_func_t dispatch_table[%d];' % (2*tablesz)
   for i in range(0, tablesz):