SPARC: Implement the version of movcc that uses the fp condition codes.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 14 May 2010 21:22:51 +0000 (14:22 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 14 May 2010 21:22:51 +0000 (14:22 -0700)
src/arch/sparc/isa/decoder.isa

index ce5e34ff00b2247a5f926727be577e9f1d41b892..b9b38b56952f75be1019361b87fda77491949684 100644 (file)
@@ -395,7 +395,33 @@ decode OP default Unknown::unknown()
             }});
             0x2C: decode MOVCC3
             {
-                0x0: Trap::movccfcc({{fault = new FpDisabled;}});
+                0x0: decode CC
+                {
+                    0x0: movccfcc0({{
+                        if(passesCondition(Fsr<11:10>, COND4))
+                            Rd = Rs2_or_imm11;
+                        else
+                            Rd = Rd;
+                    }});
+                    0x1: movccfcc1({{
+                        if(passesCondition(Fsr<33:32>, COND4))
+                            Rd = Rs2_or_imm11;
+                        else
+                            Rd = Rd;
+                    }});
+                    0x2: movccfcc2({{
+                        if(passesCondition(Fsr<35:34>, COND4))
+                            Rd = Rs2_or_imm11;
+                        else
+                            Rd = Rd;
+                    }});
+                    0x3: movccfcc3({{
+                        if(passesCondition(Fsr<37:36>, COND4))
+                            Rd = Rs2_or_imm11;
+                        else
+                            Rd = Rd;
+                    }});
+                }
                 0x1: decode CC
                 {
                     0x0: movcci({{