From b25baef26f03b9909b65dd5f762b38f93000445d Mon Sep 17 00:00:00 2001 From: Richard Osborne Date: Fri, 7 Nov 2008 10:59:00 +0000 Subject: Add XCore backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58838 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/XCore/XCoreInstrFormats.td | 120 ++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 lib/Target/XCore/XCoreInstrFormats.td (limited to 'lib/Target/XCore/XCoreInstrFormats.td') diff --git a/lib/Target/XCore/XCoreInstrFormats.td b/lib/Target/XCore/XCoreInstrFormats.td new file mode 100644 index 0000000000..8002c99327 --- /dev/null +++ b/lib/Target/XCore/XCoreInstrFormats.td @@ -0,0 +1,120 @@ +//===- XCoreInstrFormats.td - XCore Instruction Formats ----*- tablegen -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +//===----------------------------------------------------------------------===// +// Instruction format superclass +//===----------------------------------------------------------------------===// +class InstXCore pattern> + : Instruction { + field bits<32> Inst; + + let Namespace = "XCore"; + dag OutOperandList = outs; + dag InOperandList = ins; + let AsmString = asmstr; + let Pattern = pattern; +} + +// XCore pseudo instructions format +class PseudoInstXCore pattern> + : InstXCore; + +//===----------------------------------------------------------------------===// +// Instruction formats +//===----------------------------------------------------------------------===// + +class _F3R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FL3R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _F2RUS pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FL2RUS pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FRU6 pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FLRU6 pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FU6 pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FLU6 pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FU10 pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FLU10 pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _F2R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FRUS pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _FL2R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _F1R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _F0R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _L4R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _L5R pattern> + : InstXCore { + let Inst{31-0} = 0; +} + +class _L6R pattern> + : InstXCore { + let Inst{31-0} = 0; +} -- cgit v1.2.3