From c5c559b6abf3eb803eeaa4b635d482b39afe9e9e Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 14 May 2010 14:22:51 -0700 Subject: [PATCH] SPARC: Implement the version of movcc that uses the fp condition codes. --- src/arch/sparc/isa/decoder.isa | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa index ce5e34ff0..b9b38b569 100644 --- a/src/arch/sparc/isa/decoder.isa +++ b/src/arch/sparc/isa/decoder.isa @@ -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({{