Fix MOVN.fmt and MOVZ.fmt, need to test GPR[RT].
authorAndrew Cagney <cagney@redhat.com>
Tue, 4 Jul 2000 02:32:58 +0000 (02:32 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 4 Jul 2000 02:32:58 +0000 (02:32 +0000)
sim/mips/ChangeLog
sim/mips/mips.igen

index ef2e85a0cde3817e77b8c8ebd7e73ff1a518c526..86a37ed3074ce819885134f1334e0ec46e688170 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jul  3 11:13:20 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       From Jason Eckhardt:
+       * mips.igen (MOVZ.fmt, MOVN.fmt): Move conditional on GPR[RT].
+
 Tue Jun 13 20:52:07 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * mips.igen (MxC1, DMxC1): Fix printf formatting.
index 23908a967e56a85dfa7baedc56b1bd785d98760f..f8263f4d0658e067e8f01be370d7926350d2b1c7 100644 (file)
 
 
 010001,10,3.FMT,5.RT,5.FS,5.FD,010011:COP1:32::MOVN.fmt
+"movn.%s<FMT> f<FD>, f<FS>, r<RT>"
 *mipsIV:
 *vr5000:
 {
-  unsigned32 instruction = instruction_0;
-  int destreg = ((instruction >> 6) & 0x0000001F);
-  int fs = ((instruction >> 11) & 0x0000001F);
-  int format = ((instruction >> 21) & 0x00000007);
-  {
-    StoreFPR(destreg,format,ValueFPR(fs,format));
-  }
+  if (GPR[RT] != 0)
+    StoreFPR (FD, FMT, ValueFPR (FS, FMT));
+  else
+    StoreFPR (FD, FMT, ValueFPR (FD, FMT));
 }
 
 
 *mipsIV:
 *vr5000:
 {
-  unsigned32 instruction = instruction_0;
-  int destreg = ((instruction >> 6) & 0x0000001F);
-  int fs = ((instruction >> 11) & 0x0000001F);
-  int format = ((instruction >> 21) & 0x00000007);
-  {
-   StoreFPR(destreg,format,ValueFPR(fs,format));
-  }
+  if (GPR[RT] == 0)
+    StoreFPR (FD, FMT, ValueFPR (FS, FMT));
+  else
+    StoreFPR (FD, FMT, ValueFPR (FD, FMT));
 }