# rdmask, which is for registers needs to come from the *main* decoder
         for funame, fu in fus.items():
-            rdmask = get_rdflags(self.ireg.e, fu)
+            rdmask = get_rdflags(m, self.ireg.e, fu)
             comb += fu.rdmaskn.eq(~rdmask)
 
         # sigh - need a NOP counter
         rd_hazard = []
 
         # dictionary of lists of regfile read ports
-        byregfiles_rdspec = self.get_byregfiles(True)
+        byregfiles_rdspec = self.get_byregfiles(m, True)
 
         # okaay, now we need a PriorityPicker per regfile per regfile port
         # loootta pickers... peter piper picked a pack of pickled peppers...
         fus = self.fus.fus
         regs = self.regs
         # dictionary of lists of regfile write ports
-        byregfiles_wrspec = self.get_byregfiles(False)
+        byregfiles_wrspec = self.get_byregfiles(m, False)
 
         # same for write ports.
         # BLECH!  complex code-duplication! BLECH!
             comb += wvclr.eq(ortreereduce_sig(wvclren)) # clear (regfile write)
             comb += wvset.eq(ortreereduce_sig(wvseten)) # set (issue time)
 
-    def get_byregfiles(self, readmode):
+    def get_byregfiles(self, m, readmode):
 
         mode = "read" if readmode else "write"
         regs = self.regs
 
                 # the PowerDecoder2 (main one, not the satellites) contains
                 # the decoded regfile numbers. obtain these now
-                okflag, regport = regspec_decode(readmode, e, regfile, regname)
+                okflag, regport = regspec_decode(m, readmode, e,
+                                                 regfile, regname)
 
                 # construct the dictionary of regspec information by regfile
                 if regname not in byregfiles_spec[regfile]: