From b1004875386035a68013bfc8f806e2aa434c4b06 Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Mon, 19 Feb 2007 17:53:29 +0000 Subject: * mips.igen (jalr.hb, jr.hb): Add decoder for mip32r2/mips64r2 jumps with hazard barrier. --- sim/mips/mips.igen | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'sim/mips/mips.igen') diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index 6109589..93f4f2d 100644 --- a/sim/mips/mips.igen +++ b/sim/mips/mips.igen @@ -1945,8 +1945,18 @@ DELAY_SLOT (temp); } +000000,5.RS,00000,5.RD,10000,001001:SPECIAL:32::JALR_HB +"jalr.hb r":RD == 31 +"jalr.hb r, r" +*mips32r2: +*mips64r2: +{ + address_word temp = GPR[RS]; + GPR[RD] = CIA + 8; + DELAY_SLOT (temp); +} -000000,5.RS,000000000000000,001000:SPECIAL:32::JR +000000,5.RS,0000000000,00000,001000:SPECIAL:32::JR "jr r" *mipsI: *mipsII: @@ -1964,6 +1974,13 @@ DELAY_SLOT (GPR[RS]); } +000000,5.RS,0000000000,10000,001000:SPECIAL:32::JR_HB +"jr.hb r" +*mips32r2: +*mips64r2: +{ + DELAY_SLOT (GPR[RS]); +} :function:::unsigned_word:do_load:unsigned access, address_word base, address_word offset { -- cgit v1.1