(movqi, movhi, reload_{in,out}{qi,hi}): Use a29k_set_memflags.
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 24 Oct 1992 14:35:05 +0000 (10:35 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 24 Oct 1992 14:35:05 +0000 (10:35 -0400)
From-SVN: r2590

gcc/config/a29k/a29k.md

index a44063b..cdf595b 100644 (file)
        {
          rtx general = gen_reg_rtx (SImode);
          rtx bp = gen_reg_rtx (PSImode);
-
-         if (TARGET_BYTE_WRITES)
-           emit_insn (gen_storehihww (XEXP (operands[0], 0),
-                                      gen_lowpart (SImode, operands[1]),
-                                      general, bp));
-         else
-           emit_insn (gen_storehinhww (XEXP (operands[0], 0),
-                                       gen_lowpart (SImode, operands[1]),
-                                       general, bp));
+         rtx (*fcn) ()
+           = TARGET_BYTE_WRITES ? gen_storehihww : gen_storehinhww;
+         rtx seq = (*fcn) (XEXP (operands[0], 0),
+                           gen_lowpart (SImode, operands[1]),
+                           general, bp);
+           
+         a29k_set_memflags (seq, operands[0]);
+         emit_insn (seq);
          DONE;
        }
     }
        {
          rtx general = gen_reg_rtx (SImode);
          rtx bp = gen_reg_rtx (PSImode);
+         rtx seq = gen_loadqi (gen_lowpart (SImode, operands[0]),
+                               XEXP (operands[1], 0), general, bp);
 
-         emit_insn (gen_loadqi (gen_lowpart (SImode, operands[0]),
-                                XEXP (operands[1], 0), general, bp));
+         a29k_set_memflags (seq, operands[1]);
+         emit_insn (seq);
          DONE;
        }
     }
              (match_operand:PSI 2 "register_operand" "=b")])]
   "! TARGET_DW_ENABLE"
   "
-{ emit_insn (gen_loadhi (gen_lowpart (SImode, operands[0]),
-                        a29k_get_reloaded_address (operands[1]),
-                        gen_rtx (REG, SImode, R_TAV),
-                        operands[2]));
+{ rtx seq = gen_loadhi (gen_lowpart (SImode, operands[0]),
+                       a29k_get_reloaded_address (operands[1]),
+                       gen_rtx (REG, SImode, R_TAV),
+                       operands[2]);
+
+  a29k_set_memflags (seq, operands[1]);
+  emit_insn (seq);
   DONE;
 }")
 
              (match_operand:PSI 2 "register_operand" "=b")])]
   "! TARGET_DW_ENABLE"
   "
-{ if (TARGET_BYTE_WRITES)
-    emit_insn (gen_storehihww (a29k_get_reloaded_address (operands[0]),
-                              gen_lowpart (SImode, operands[1]),
-                              gen_rtx (REG, SImode, R_TAV),
-                              operands[2]));
-  else
-    emit_insn (gen_storehinhww (a29k_get_reloaded_address (operands[0]),
-                               gen_lowpart (SImode, operands[1]),
-                               gen_rtx (REG, SImode, R_TAV),
-                               operands[2]));
+{ rtx (*fcn) () = TARGET_BYTE_WRITES ? gen_storehihww : gen_storehinhww;
+  rtx seq = (*fcn) (a29k_get_reloaded_address (operands[0]),
+                   gen_lowpart (SImode, operands[1]),
+                   gen_rtx (REG, SImode, R_TAV), operands[2]);
+
+  a29k_set_memflags (seq, operands[0]);
+  emit_insn (seq);
   DONE;
 }")
 \f
        {
          rtx general = gen_reg_rtx (SImode);
          rtx bp = gen_reg_rtx (PSImode);
-
-         if (TARGET_BYTE_WRITES)
-           emit_insn (gen_storeqihww (XEXP (operands[0], 0),
-                                      gen_lowpart (SImode, operands[1]),
-                                      general, bp));
-         else
-           emit_insn (gen_storeqinhww (XEXP (operands[0], 0),
-                                       gen_lowpart (SImode, operands[1]),
-                                       general, bp));
-         DONE;
+         rtx (*fcn) ()
+           = TARGET_BYTE_WRITES ? gen_storeqihww : gen_storeqinhww;
+         rtx seq = (*fcn) (XEXP (operands[0], 0),
+                           gen_lowpart (SImode, operands[1]),
+                           general, bp);
+           
+         a29k_set_memflags (seq, operands[0]);
+         emit_insn (seq);
        }
     }
   else if (GET_CODE (operands[1]) == MEM)
        {
          rtx general = gen_reg_rtx (SImode);
          rtx bp = gen_reg_rtx (PSImode);
+         rtx seq = gen_loadqi (gen_lowpart (SImode, operands[0]),
+                               XEXP (operands[1], 0), general, bp);
 
-         emit_insn (gen_loadqi (gen_lowpart (SImode, operands[0]),
-                                XEXP (operands[1], 0), general, bp));
+         a29k_set_memflags (seq, operands[1]);
+         emit_insn (seq);
          DONE;
        }
     }
              (match_operand:PSI 2 "register_operand" "=b")])]
   "! TARGET_DW_ENABLE"
   "
-{ emit_insn (gen_loadqi (gen_lowpart (SImode, operands[0]),
-                        a29k_get_reloaded_address (operands[1]),
-                        gen_rtx (REG, SImode, R_TAV),
-                        operands[2]));
+{ rtx seq = gen_loadqi (gen_lowpart (SImode, operands[0]),
+                       a29k_get_reloaded_address (operands[1]),
+                       gen_rtx (REG, SImode, R_TAV),
+                       operands[2]);
+
+  a29k_set_memflags (seq, operands[1]);
+  emit_insn (seq);
   DONE;
 }")
 
              (match_operand:PSI 2 "register_operand" "=b")])]
   "! TARGET_DW_ENABLE"
   "
-{ if (TARGET_BYTE_WRITES)
-    emit_insn (gen_storeqihww (a29k_get_reloaded_address (operands[0]),
-                              gen_lowpart (SImode, operands[1]),
-                              gen_rtx (REG, SImode, R_TAV),
-                              operands[2]));
-  else
-    emit_insn (gen_storeqinhww (a29k_get_reloaded_address (operands[0]),
-                               gen_lowpart (SImode, operands[1]),
-                               gen_rtx (REG, SImode, R_TAV),
-                               operands[2]));
+{ rtx (*fcn) () = TARGET_BYTE_WRITES ? gen_storeqihww : gen_storeqinhww;
+  rtx seq = (*fcn) (a29k_get_reloaded_address (operands[0]),
+                   gen_lowpart (SImode, operands[1]),
+                   gen_rtx (REG, SImode, R_TAV), operands[2]);
+
+  a29k_set_memflags (seq, operands[0]);
+  emit_insn (seq);
   DONE;
 }")
 \f