From 999b995ddc4a8a2f146ebf9a46c9924c6a7c65a6 Mon Sep 17 00:00:00 2001 From: Stefan Kristiansson Date: Thu, 8 May 2014 08:53:09 +0300 Subject: or1k: add support for l.swa/l.lwa atomic instructions This adds support for the load-link/store-conditional l.lwa/l.swa atomic instructions. The support is added in such way, that the cpu description not only describes the mnemonics, but also the functionality. A couple of fixes to typos in nearby/related code are also snuck into this. cpu/ * or1korbis.cpu (h-atomic-reserve): New hardware. (h-atomic-address): Likewise. (insn-opcode): Add opcodes for LWA and SWA. (atomic-reserve): New operand. (atomic-address): Likewise. (l-lwa, l-swa): New instructions. (l-lbs): Fix typo in comment. (store-insn): Clear atomic reserve on store to atomic-address. Fix register names in fmt field. opcodes/ * or1k-desc.c: Regenerated. * or1k-desc.h: Likewise. * or1k-opc.c: Likewise. * or1k-opc.h: Likewise. * or1k-opinst.c: Likewise. --- opcodes/ChangeLog | 8 ++++++++ opcodes/or1k-desc.c | 20 +++++++++++++++++++ opcodes/or1k-desc.h | 32 +++++++++++++++---------------- opcodes/or1k-opc.c | 18 ++++++++++++++++- opcodes/or1k-opc.h | 53 ++++++++++++++++++++++++++------------------------- opcodes/or1k-opinst.c | 37 ++++++++++++++++++++++++++++++++--- 6 files changed, 122 insertions(+), 46 deletions(-) (limited to 'opcodes') diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index c9c318b..d335baa 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,11 @@ +2014-05-08 Stefan Kristiansson + + * or1k-desc.c: Regenerated. + * or1k-desc.h: Likewise. + * or1k-opc.c: Likewise. + * or1k-opc.h: Likewise. + * or1k-opinst.c: Likewise. + 2014-05-07 Andrew Bennett * mips-opc.c (mips_builtin_opcodes): Add MIPS32r5 eretnc instruction. diff --git a/opcodes/or1k-desc.c b/opcodes/or1k-desc.c index 7868d60..1bf08d0 100644 --- a/opcodes/or1k-desc.c +++ b/opcodes/or1k-desc.c @@ -919,6 +919,8 @@ const CGEN_HW_ENTRY or1k_cgen_hw_table[] = { "h-simm16", HW_H_SIMM16, CGEN_ASM_NONE, 0, { 0, { { { (1<