From 6368edb281f162e4fbb0a91744992a25134135f4 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 25 Aug 2010 19:10:42 -0500 Subject: ARM: Implement all ARM SIMD instructions. --- src/arch/arm/isa/decoder/thumb.isa | 2 +- src/arch/arm/isa/formats/fp.isa | 1643 +++++++++++---- src/arch/arm/isa/insts/fp.isa | 176 +- src/arch/arm/isa/insts/insts.isa | 5 +- src/arch/arm/isa/insts/macromem.isa | 499 ++++- src/arch/arm/isa/insts/neon.isa | 3343 ++++++++++++++++++++++++++++++ src/arch/arm/isa/operands.isa | 26 + src/arch/arm/isa/templates/macromem.isa | 192 +- src/arch/arm/isa/templates/mem.isa | 200 ++ src/arch/arm/isa/templates/neon.isa | 227 ++ src/arch/arm/isa/templates/templates.isa | 3 + 11 files changed, 5863 insertions(+), 453 deletions(-) create mode 100644 src/arch/arm/isa/insts/neon.isa create mode 100644 src/arch/arm/isa/templates/neon.isa (limited to 'src/arch/arm/isa') diff --git a/src/arch/arm/isa/decoder/thumb.isa b/src/arch/arm/isa/decoder/thumb.isa index 65ea7e30c..d0f5b8646 100644 --- a/src/arch/arm/isa/decoder/thumb.isa +++ b/src/arch/arm/isa/decoder/thumb.isa @@ -88,7 +88,7 @@ decode BIGTHUMB { 0xf: McrMrc15::mcrMrc15(); } } - 0x3: WarnUnimpl::Advanced_SIMD(); + 0x3: ThumbNeonData::ThumbNeonData(); default: decode LTCOPROC { 0xa, 0xb: ExtensionRegLoadStore::extensionRegLoadStre(); 0xf: decode HTOPCODE_9_4 { diff --git a/src/arch/arm/isa/formats/fp.isa b/src/arch/arm/isa/formats/fp.isa index 0a5f77e6e..1482c2119 100644 --- a/src/arch/arm/isa/formats/fp.isa +++ b/src/arch/arm/isa/formats/fp.isa @@ -45,6 +45,52 @@ // Floating Point operate instructions // +output header {{ + + template