Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] Q about instruction pattern matching"
2007 Sep 21
0
[LLVMdev] Q about instruction pattern matching
On Sep 21, 2007, at 2:04 AM, Andreas Fredriksson wrote:
> Hi,
> I'm trying to describe the patterns for the m68k instructions ADD and
> ADDA when used with a data register operand for the source. Basically,
> ADD operates on anything but address registers and immediates, and
> ADDA works on address registers only so I'm going to need both
> instructions in my instruction
2007 Sep 25
2
[LLVMdev] Q about instruction pattern matching
On Sep 24, 2007, at 1:12 AM, Andreas Fredriksson wrote:
> On 9/24/07, Evan Cheng <evan.cheng at apple.com> wrote:
>
>> I am going to suggest something shocking. :) Since you will end up
>> writing a
>> bunch of target specific code anyway, you might a well write a target
>> specific pass that change generic instructions into data register
>> variant
2007 Sep 29
0
[LLVMdev] Q about instruction pattern matching
On 9/25/07, Evan Cheng <evan.cheng at apple.com> wrote:
> > Hi Evan,
> > wouldn't this generate fairly terrible code if each address register
> > use has to be preceded by instructions to make an address register
> > hold the right value?
>
> No. I would suggest doing this as a instruction selection post pass.
> It would operate on DAGs so you still get
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
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).
>
2016 Mar 30
0
Instruction selection pattern for intrinsic returning llvm_any_ty
> On Mar 30, 2016, at 09:33, Mikael Holmén via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
> On my out-of-tree target I have an intrinsic
>
> def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
> [llvm_i16_ty, llvm_i16_ty],
> [IntrNoMem]>;
>
> that I want to translate to the
2012 May 11
0
[LLVMdev] TableGen pattern for negated operand
Hi Joe,
Le 11/05/2012 02:13, Joe Matarazzo a écrit :
> I've been unable to come up with the TableGen recipe to match a
> negated operand. My target asm syntax allows the following transform:
>
> FNEG r8, r5
> MUL r6, r8, r9
>
> to
>
> MUL r6, -r5, r9
>
> Is there a Pattern<> syntax that would allow matching *any* opcode (or
> even some
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
Hi,
On my out-of-tree target I have an intrinsic
def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
[llvm_i16_ty, llvm_i16_ty],
[IntrNoMem]>;
that I want to translate to the following instruction during instruction
selection:
def divm16_pseudo : MyPseudoInst<
(outs aNh_0_7:$dst, aNh_0_7:$dst2),
(ins
2016 Mar 30
2
Instruction selection pattern for intrinsic returning llvm_any_ty
Hi,
On 03/30/2016 11:15 AM, Matt Arsenault wrote:
>
>> On Mar 30, 2016, at 09:33, Mikael Holmén via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi,
>>
>> On my out-of-tree target I have an intrinsic
>>
>> def int_phx_divm_u16 : Intrinsic<[llvm_any_ty],
>> [llvm_i16_ty, llvm_i16_ty],
>>
2009 Jul 04
2
[LLVMdev] Help on DAG pattern matching string
Hello,
I'm new to LLVM and I'm using it to translate from LLVM to another
language rather than emitting actual machine code. The target language
has instructions that operate on pointers which aren't naturally exposed
in LLVM. Here's what I've done to add pointer support for an instruction
called PADD that takes a pointers and an offset and returns the new
pointer value:
2007 Sep 24
0
[LLVMdev] Q about instruction pattern matching
On 9/24/07, Evan Cheng <evan.cheng at apple.com> wrote:
> I am going to suggest something shocking. :) Since you will end up writing a
> bunch of target specific code anyway, you might a well write a target
> specific pass that change generic instructions into data register variant
> ones when necessary.
Hi Evan,
wouldn't this generate fairly terrible code if each address
2007 Sep 24
2
[LLVMdev] Q about instruction pattern matching
On Sep 22, 2007, at 10:36 AM, Christopher Lamb <christopher.lamb at gmail.com
> wrote:
>
> On Sep 22, 2007, at 4:05 AM, Andreas Fredriksson wrote:
>
>> On 9/21/07, Christopher Lamb <christopher.lamb at gmail.com> wrote:
>>
>>> ISel patterns are matched against DAGs before register allocation.
>>> So you
>>> are correct that ISel
2009 Dec 31
1
[PATCH] Autogenerate uureg opcode macros
Also some missing _src()s and cosmetic changes.
---
src/gallium/programs/galliumut/Makefile | 5 +
.../programs/galliumut/gen_uureg_opcodes.sh | 29 +++
src/gallium/programs/galliumut/uureg.h | 196 ++++----------------
3 files changed, 71 insertions(+), 159 deletions(-)
create mode 100644 src/gallium/programs/galliumut/gen_uureg_opcodes.sh
diff --git
2015 Feb 18
2
[LLVMdev] local variable in Pattern definition?
Hi guys,
When I am trying to define pattern in a multi class, I got something like this:
“
multi class P_PAT<string sty, SDNode tNode>
{
def : Pat<( !cast<ValueType>(“v2” # sty) (tNode !cast<ValueType>(“v2” # sty):$src1, !cast<ValueType>(“v2” # sty):$src2) ),
( add !cast<ValueType>(“v2” # sty):$src1, !cast<ValueType>(“v2” #
2013 Mar 21
0
[LLVMdev] Simpler types in TableGen isel patterns
----- Original Message -----
> From: "Jakob Stoklund Olesen" <stoklund at 2pi.dk>
> To: llvmdev at cs.uiuc.edu, llvmdev at cs.uiuc.edu, llvmdev at cs.uiuc.edu, llvmdev at cs.uiuc.edu
> Sent: Thursday, March 21, 2013 1:26:25 PM
> Subject: [LLVMdev] Simpler types in TableGen isel patterns
>
> Currently, instruction selection patterns are defined like this:
>
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)
2009 Jul 04
0
[LLVMdev] Help on DAG pattern matching string
Are there any other patterns in your TD file? If so, then one of the
ones before this pattern will match everything, and this pattern will
never be matched.
-bw
On Jul 3, 2009, at 8:27 PM, Javier Martinez wrote:
> Hello,
>
> I'm new to LLVM and I'm using it to translate from LLVM to another
> language rather than emitting actual machine code. The target language
> has
2012 May 11
2
[LLVMdev] TableGen pattern for negated operand
I've been unable to come up with the TableGen recipe to match a
negated operand. My target asm syntax allows the following transform:
FNEG r8, r5
MUL r6, r8, r9
to
MUL r6, -r5, r9
Is there a Pattern<> syntax that would allow matching *any* opcode (or
even some subset), not just MUL, with a FNEG'd operand? I expect I can
define a PatFrag:
def fneg_su : PatFrag<(ops
2017 Jul 11
2
error: In anonymous_4820: Unrecognized node 'VRR128'!
Thank You.
But can we use same register class for fadd as well,
is this instruction correct?
def VFADD : I<0x0E, MRMDestReg, (outs VRR128:$dst), (ins VRR128:$src1,
VRR128:$src2),"VFADD\t{$src1, $src2, $dst|$dst, $src1, $src2}", [(set
VRR128:$dst, (fadd VRR128:$src1, VRR128:$src2))]>, TA;
On Tue, Jul 11, 2017 at 9:00 PM, Craig Topper <craig.topper at gmail.com>
wrote:
>
2014 Dec 26
2
[LLVMdev] X86 disassembler & assembler mismatch
The IMM3/IMM5 come from here
X86RecognizableInstr.cpp
943 TYPE("SSECC", TYPE_IMM3)
944: TYPE("AVXCC", TYPE_IMM5)
On Thu, Dec 25, 2014 at 8:22 PM, Jun Koi <junkoi2004 at gmail.com> wrote:
>
>
> On Fri, Dec 26, 2014 at 11:54 AM, Jun Koi <junkoi2004 at gmail.com> wrote:
>
>> hi,
>>
>> some instructions