Displaying 20 results from an estimated 196 matches for "defms".
Did you mean:
defm
2020 May 12
2
BPF tablegen+codegen question
In BPF, an ADD instruction is defined as a 2 register instruction:
0x0f. add dst, src. dst += src
In BPFInstrInfo.td this kind of ALU instruction is defined with:
def _rr : ALU_RR<BPF_ALU64, Opc,
(outs GPR:$dst),
(ins GPR:$src2, GPR:$src),
"$dst "#OpcodeStr#" $src",
[(set
2006 Oct 02
0
[LLVMdev] Instruction descriptions question
On Sun, 1 Oct 2006, Roman Levenstein wrote:
> I'm trying to implement a new backend for an embedded CISC processor.
> Therefore I thought that it makes sense to take X86 target as a basis,
> to save some time.
Ok. Note that the X86 backend is one of the most complex though, because
it supports several subtargets and ABIs, which makes it more complex than
some other targets.
>
2017 Aug 21
2
Extending TableGen's 'foreach' to work with 'multiclass' and 'defm'
I have been reading the “RFC/bikeshedding: Separation of instruction and pattern definitions in LLVM backends” topic with considerable interest. This is an approach I have been considering for taming our own large instruction set, and it looks like it structures our descriptions better than the conventional approach we have used so far.
However, I have another form of TableGen taming that I
2009 Jun 17
0
[LLVMdev] Regular Expressions
On Tuesday 16 June 2009 19:35, David Greene wrote:
> So which is more intuitive and less error-prone?
>
> defm BLENDPS : sse41_avx_fp_binary_vector_osta_vintrinsic_rmi_rrmi<0x0C,
> i32i8imm, "blend", "blend", "f32", 4>;
>
> or
>
> defm BLENDPS : sse41_avx_fp_binary_vector_osta_vintrinsic_rmi_rrmi<0x0C,
>
2007 Sep 13
1
[LLVMdev] Nested multiclass/defm declarations?
Hi list,
I'm toying with the idea of writing a m680x0 backend for LLVM, and the
address modes of this chip are bewildering, to say the least. Here's a
rough list off wikipedia for reference:
* Register direct
o data register, e.g. "D0"
o address register, e.g. "A6"
* Register indirect
o Simple address, e.g. (A0)
o
2006 Oct 01
2
[LLVMdev] Instruction descriptions question
Hi,
I'm trying to implement a new backend for an embedded CISC processor.
Therefore I thought that it makes sense to take X86 target as a basis,
to save some time.
But when I look into the X86InstrInfo.td, I have a very strong feeling
that it is one of the most complex instruction set descriptions
compared to other targets. I can imagine that this is due to the
complexity of X86's
2009 Jun 17
3
[LLVMdev] Regular Expressions
On Monday 15 June 2009 14:35, Chris Lattner wrote:
> > I suppose you could argue that additional parameters specifying
> > the source and dest types could be passed, but why bother when
> > it is already encoded in the mnemonic? That would just be
> > adding error-prone redundancy.
>
> Why not synthesize the opcode string from the information passed down?
2011 Jul 03
0
[LLVMdev] DLX backend
So I thought I'd try to use the documentation on llvm backends to try to create a DLX backend. I think I've got most of the stuff for the .td files done but I've got some problems.
* Do I need to represent the PC in my XXXRegisterInfo.td file; the branch instruction effects it but you can directly access it ... I'm thinking not.
* In my Instruction subclasses (in
2013 May 20
2
[LLVMdev] VCOMISS instruction in X86
Hi,
I'm looking at scalar and packed instructions in X86.
The instruction VCOMISS is scalar. May I remove SSEPackedSingle/SSEPackedDouble domain from it?
defm VUCOMISS : sse12_ord_cmp<0x2E, FR32, X86cmp, f32, f32mem, loadf32,
"ucomiss", SSEPackedSingle>, TB, VEX, VEX_LIG;
defm VUCOMISD : sse12_ord_cmp<0x2E, FR64, X86cmp, f64,
2011 Oct 06
0
[LLVMdev] TableGen and Greenspun
Jakob Stoklund Olesen <jolesen at apple.com> writes:
> The TableGen language seems to be growing Lisp macros from two
> different directions.
>
> Che-Liang Chiou added a preprocessor with for loops, and David Greene
> added multidefs.
>
> It seems that some kind of macro facility is needed, perhaps we should
> discuss what it is supposed to look like?
Don't
2016 Jan 15
2
Expanding a PseudoOp and accessing the DAG
On Thu, Jan 14, 2016 at 6:05 AM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:
> On 1/13/2016 4:47 PM, Phil Tomson wrote:
>
>>
>> First off, I got this idea from the LLVM Cookbook chapter 8: Writing an
>> LLVM Backend: Lowering to multiple instructions. (now I'm having my
>> doubts as to whether this is the right approach)
>>
>
>
2011 Oct 06
3
[LLVMdev] TableGen and Greenspun
The TableGen language seems to be growing Lisp macros from two different directions.
Che-Liang Chiou added a preprocessor with for loops, and David Greene added multidefs.
It seems that some kind of macro facility is needed, perhaps we should discuss what it is supposed to look like?
/jakob
2013 Apr 15
4
[LLVMdev] 64-bit add using 2 32-bit operations, guarantee of stuck together?
Hi,
Let's say we have a 32-bit architecture where 64-bit additions are done
using 2 operations.
Instructions are defined as follow in TableGen:
defm ADD64 : ALU32<"add", 1, 1, addc>;
defm ADD64C : ALU32<"addrc", 1, 2, adde>;
Let's assume that the carry bit is implicit and that the 2 operations must
*always* be stuck together for the 64-bit add to
2011 May 08
2
[LLVMdev] [LLVMDev] Add not instruction to PTX backend
Hi, all
I am trying to add "not" instruction support to PTX backend.
I add the line below in PTXInstrInfo.td,
defm NOT : PTX_LOGIC<"not", not>;
But I get errors below,
-------------------------------------------------------------------------------
Included from PTX.td:75:
PTXInstrInfo.td:732:10: error: Value 'PTX_LOGIC::opnode' of type 'SDNode' is
2012 Nov 14
0
[LLVMdev] TableGen: Requires in multiclass's def as well as defm
Hi,
I'd like to disallow ARM's register-register preload instruction for NaCl
(and keep the register-immediate), and instead of my localmod being to
delete the 'rs' def from multiclass APreLoad I'd like to do the cleaner
thing and have rs require IsNotNaCl. This unfortunately doesn't seem to
work because the subsequent defm have their own Requires.
The way preloads are
2015 Jul 27
0
[LLVMdev] Let expressions at file scope combined with defm
Hi all,
I try to run such a line in TableGen but seems it's not working.
What is the problem with this code?
multiclass cond {
let Inst{1-0}=0b11 in defm fxy: ConditionalALU;
....
}
I receive this error:
test.td:162:11: error: expected '=' in let expression
let Inst{1-0}=0b11 in defm fxy: ConditionalALU;
^
-------------- next part --------------
An HTML
2006 Oct 02
2
[LLVMdev] Instruction descriptions question
Hi Chris,
Thanks a lot for your answer!
Chris Lattner wrote:
>> 1. Why does X86 instruction set description provide different
>> descriptions for the same instructions, which differ only in the
size
>> of operands?
>> E.g.
>>
>> def MOV8rm : I<0x8A, MRMSrcMem, (ops GR8 :$dst, i8mem :$src),
>> "mov{b} {$src, $dst|$dst, $src}",
2010 Jan 01
2
[LLVMdev] Assembly Printer
I am trying to understand how LLVM does code generation and I have a couple
of questions.
I am using LLVM 2.6.
First,
if I want to change the name of an instruction, all I need to do is to
modify the XXXInstrInfo.td, right?
Using Sparc as an example, if I wanted to output "mysra" instead of "sra",
in SparcInstrInfo.td, I would write,
defm SRA : F3_12<"mysra",
2017 Aug 22
3
Extending TableGen's 'foreach' to work with 'multiclass' and 'defm'
On 08/22/2017 03:59 AM, Alex Bradbury via llvm-dev wrote:
> On 21 August 2017 at 13:23, Martin J. O'Riordan via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> But there is a downside.
>>
>> For each of the above I also have variations that are a result of different
>> processor and ISA versions, and because of this I have to use
>> ‘multiclass/defm’
2009 Jun 17
2
[LLVMdev] Regular Expressions
On Jun 16, 2009, at 5:49 PM, David Greene wrote:
> On Tuesday 16 June 2009 19:35, David Greene wrote:
>
>> So which is more intuitive and less error-prone?
>>
>> defm BLENDPS :
>> sse41_avx_fp_binary_vector_osta_vintrinsic_rmi_rrmi<0x0C,
>> i32i8imm, "blend", "blend", "f32", 4>;
>>
>> or