out, o_isvec)
             if upd == LDSTMode.update.value:
                 return out, o_isvec
+    if name == 'RS':
+        fft_en = yield dec2.implicit_rs
+        if fft_en:
+            log("get_pdecode_idx_out2", out_sel, OutSel.RS.value,
+                out, o_isvec)
+            return out, o_isvec
     if name == 'FRS':
-        int_op = yield dec2.dec.op.internal_op
         fft_en = yield dec2.implicit_rs
-        # if int_op == MicrOp.OP_FP_MADD.value and fft_en:
         if fft_en:
             log("get_pdecode_idx_out2", out_sel, OutSel.FRS.value,
                 out, o_isvec)
 
         # will be offset by VL in hardware
         # with m.Case(MicrOp.OP_FP_MADD):
         with m.If(self.implicit_rs):
-            comb += self.reg_out.data.eq(self.dec.FRT)
+            comb += self.reg_out.data.eq(self.dec.FRT) # same as RT, for pcdec
             comb += self.reg_out.ok.eq(1)
             comb += self.rs_en.eq(1)