Displaying 20 results from an estimated 35 matches for "opcodestring".
Did you mean:
encodestring
2009 Mar 24
2
[LLVMdev] Reducing .td redundancy
Is it legal to do something like a !strconcat on a non-string entity? That
is, is there some operation that will let me do this (replace SOME_CONCAT with
an appropriate operator):
(WARNING! Hacked-up tablegen ahead!)
multiclass sse_fp_binop_bitwise_rm<bits<8> opc, string OpcodeStr,
SDNode OpNode> {
// Vector operation emulating scalar (fp)
2015 Nov 24
2
[backend]two-address encoding in llvm tblgen
Dear there,
I'm developing an instruction layout like:
opcode | rd| ts
and its semantics is:
rd= rd opcode rs
But when I describe it in td file like this:
class R<bits<5> Op, string OpcodeStr, list<dag> Pattern>
: InstV<(outs GPR:$rd), (ins GPR:$rd, GPR:$rs), !strconcat(OpcodeStr,
"\t$rd, $rs"), Pattern> {
bits<5> rd;
bits<6> rs;
let
2015 Nov 24
2
[backend]two-address encoding in llvm tblgen
Hi Hal,
Thanks for your reply and it is helpful!
I have a quick question:
When I use BuildMI to build instructions in this case, do I have to
add all three of the register operands explicitly (operand 0 and 1 are
the same)?
Thanks,
Xiaochu
On Tue, Nov 24, 2015 at 3:14 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> ----- Original Message -----
>> From: "Xiaochu Liu via
2009 Mar 24
0
[LLVMdev] Reducing .td redundancy
On Mar 23, 2009, at 5:56 PM, David Greene wrote:
> Is it legal to do something like a !strconcat on a non-string
> entity? That
> is, is there some operation that will let me do this (replace
> SOME_CONCAT with
> an appropriate operator):
I don't get it, can you try a simpler example on me? :)
-Chris
>
>
> (WARNING! Hacked-up tablegen ahead!)
>
>
2009 Feb 10
0
[LLVMdev] Multiclass patterns
On Tue, Feb 10, 2009 at 8:27 AM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> Bill,
> Sorry if I wasn't clear enough. I wasn't referring to multiclass's that
> define other classes, but with using patterns inside of a multiclass to
> reduce redundant code.
> For example:
> multiclass IntSubtract<SDNode node>
> {
> def _i8 : Pat<(sub
2009 Mar 24
2
[LLVMdev] Reducing .td redundancy
On Tuesday 24 March 2009 10:43, Chris Lattner wrote:
> On Mar 23, 2009, at 5:56 PM, David Greene wrote:
> > Is it legal to do something like a !strconcat on a non-string
> > entity? That
> > is, is there some operation that will let me do this (replace
> > SOME_CONCAT with
> > an appropriate operator):
>
> I don't get it, can you try a simpler example on
2012 Nov 16
2
[LLVMdev] Operand order in dag pattern matching in td files
Hi,
I have a simple question w.r.t the order of operands used in dag
pattern matching in target files. Some of them seem intuitive. But I
want to get it clarified anyway. I am using a pattern from
X86InstrFMA.td in the below example. Consider FMA3 pattern
(simplified).
let Constraints = "$src1 = $dst" in {
multiclass fma3s_rm<bits<8> opc, string OpcodeStr, X86MemOperand
2009 Feb 10
2
[LLVMdev] Multiclass patterns
Bill,
Sorry if I wasn't clear enough. I wasn't referring to multiclass's that
define other classes, but with using patterns inside of a multiclass to
reduce redundant code.
For example:
multiclass IntSubtract<SDNode node>
{
def _i8 : Pat<(sub GPRI8:$src0, GPRI8:$src1),
(ADD_i8 GPRI8:$src0, (NEGATE_i8 GPRI8:$src1))>;
def _i32 : Pat<(sub
2012 Nov 08
2
[LLVMdev] X86 Tablegen Description and VEX.W
Hi,
A question from r162999 changes:
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFMA.td?r1=162999&r2=162998&pathrev=162999
For the multiclass "fma4s", why is "mr" not inherited from "VEX_W" and
"MemOp4" like those of "rm" or "rr" ?
multiclass fma4s< >
...
def mr : FMA4<opc, MRMSrcMem, (outs
2017 Sep 25
1
TableGen questions.
Hello all,
I have two Tablegen questions in the context of an unconventional
architecture. The pertinent details: the architecture has multiple
register files that are selected via a bit in the instruction. One of the
register files is a traditional one. The other is unconventional in that
all source and dest registers are both read from and written to by the
instructions. So
add special0,
2009 Jun 15
2
[LLVMdev] Regular Expressions
Chris Lattner wrote:
> However, I don't see any reason to base this off of strings. Instead
> of passing down "f32" as a string, why not do something like this
> pseudo code:
>
> class X86ValueType {
> RegisterClass RegClass;
> ...
> }
>
> def X86_f32 : X86ValueType {
> let RegClass = FR32;
> ... };
> def X86_i32 :
2012 Nov 08
0
[LLVMdev] X86 Tablegen Description and VEX.W
On Wed, Nov 7, 2012 at 10:52 PM, Anitha Boyapati
<anitha.boyapati at gmail.com>wrote:
...
> For the multiclass "fma4s", why is "mr" not inherited from "VEX_W" and
> "MemOp4" like those of "rm" or "rr" ?
>
Hey Anitha,
The VEX.W bit is used to denote operand order. In other words, this bit
allows for a memop to be used as
2009 Jun 11
2
[LLVMdev] Regular Expressions
On Thursday 11 June 2009 12:28, Chris Lattner wrote:
> On Jun 9, 2009, at 12:39 PM, David Greene wrote:
> > On Tuesday 09 June 2009 14:34, Dan Gohman wrote:
> >> Can you describe what problem you're trying to solve here? Does it
> >> really need Regular Expressions?
> >
> > Yes. I want TableGen to be able to infer lots of stuff
> >
2016 Oct 24
2
Instruction selection confusion at register - chooses vector register instead of scalar one
Hello.
I have extended the BPF back end with vector registers (inspiring from Mips MSA) -
something like this:
def MSA128D: RegisterClass<"Connex", [v128i16], 32,
(sequence "Wh%u", 0, 31)>;
I also added vector store and load instructions in the style of Mips MSA - see
2009 Jun 13
0
[LLVMdev] Regular Expressions
On Jun 11, 2009, at 2:01 PM, David Greene wrote:
> On Thursday 11 June 2009 12:28, Chris Lattner wrote:
>>>
>>> Yes. I want TableGen to be able to infer lots of stuff
>>> programmatically.
>>> This helps tremendously when specifying things like, oh, AVX. :)
>>
>> I don't see how this relates to regex's, and really don't want to
2012 Nov 16
0
[LLVMdev] Operand order in dag pattern matching in td files
On 16 November 2012 13:41, Anitha B Gollamudi <anitha.boyapati at gmail.com> wrote:
> Hi,
>
> I have a simple question w.r.t the order of operands used in dag
> pattern matching in target files. Some of them seem intuitive. But I
> want to get it clarified anyway. I am using a pattern from
> X86InstrFMA.td in the below example. Consider FMA3 pattern
> (simplified).
>
2012 Nov 08
2
[LLVMdev] X86 Tablegen Description and VEX.W
On 8 November 2012 11:12, Cameron McInally <cameron.mcinally at nyu.edu> wrote:
> On Wed, Nov 7, 2012 at 10:52 PM, Anitha Boyapati <anitha.boyapati at gmail.com>
> wrote:
> ...
>>
>> For the multiclass "fma4s", why is "mr" not inherited from "VEX_W" and
>> "MemOp4" like those of "rm" or "rr" ?
>
2009 Jun 15
0
[LLVMdev] Regular Expressions
On Jun 15, 2009, at 11:33 AM, David Greene wrote:
> To reduce redundancy, developers must be able to write generic
> patterns
> like this:
>
> [(set DSTREGCLASS:$dst, // rr, rrr
> (xor (INTSRCTYPE (bitconvert (SRCTYPE SRCREGCLASS:$src1))),
> (INTSRCTYPE (bitconvert (SRCTYPE SRCREGCLASS:$src2)))))],
>
> The substitution then fills in the appropriate types,
2007 Mar 13
0
[LLVMdev] Writing a backend basic information
Hello,
Ive started writing a backend to a simple 32bit RISC processor core with
the goal of undertaking some flexible instruction processor core research
on FPGAs and also to use it for teaching computer architecture.
I have a requirement to generate instructions like below, where the (17bit)
immediate value is (preferably) omitted if it has a zero value.
add %15, %14
add %12, %23 - 18
mov
2009 Apr 30
6
[LLVMdev] RFC: AVX Pattern Specification [LONG]
Here's the big RFC.
A I've gone through and designed patterns for AVX, I quickly realized that the
existing SSE pattern specification, while functional, is less than ideal in
terms of maintenance. In particular, a number of nearly-identical patterns
are specified all over for nearly-identical instructions. For example:
let Constraints = "$src1 = $dst" in {
multiclass