diff options
author | Thiemo Seufer <ths@networkno.de> | 2007-02-19 17:53:29 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2007-02-19 17:53:29 +0000 |
commit | b1004875386035a68013bfc8f806e2aa434c4b06 (patch) | |
tree | 5c8866d6e2c8bcc5cc2b87ad79d95ef696845942 /sim/mips/mips.igen | |
parent | f8df4c7704d349e0622d471b2e0d2bfb86cd5b2f (diff) | |
download | binutils-gdb-b1004875386035a68013bfc8f806e2aa434c4b06.tar.gz |
* mips.igen (jalr.hb, jr.hb): Add decoder for mip32r2/mips64r2
jumps with hazard barrier.
Diffstat (limited to 'sim/mips/mips.igen')
-rw-r--r-- | sim/mips/mips.igen | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index 61095895394..93f4f2d9a67 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<RS>":RD == 31 +"jalr.hb r<RD>, r<RS>" +*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<RS>" *mipsI: *mipsII: @@ -1964,6 +1974,13 @@ DELAY_SLOT (GPR[RS]); } +000000,5.RS,0000000000,10000,001000:SPECIAL:32::JR_HB +"jr.hb r<RS>" +*mips32r2: +*mips64r2: +{ + DELAY_SLOT (GPR[RS]); +} :function:::unsigned_word:do_load:unsigned access, address_word base, address_word offset { |