search for: src3

Displaying 20 results from an estimated 40 matches for "src3".

Did you mean: src
2012 Nov 16
2
[LLVMdev] Operand order in dag pattern matching in td files
...;bits<8> opc, string OpcodeStr, X86MemOperand x86memop, RegisterClass RC, ValueType OpVT, PatFrag mem_frag, SDPatternOperator OpNode = null_frag> { def r : FMA3<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2, RC:$src3), !strconcat(OpcodeStr, "\t{$src3, $src2, $dst|$dst, $src2, $src3}"), [(set RC:$dst, (OpVT (OpNode RC:$src2, RC:$src1, RC:$src3)))]>; Given that it is an FMA pattern, the OpNode can be one of X86...
2012 Nov 08
2
[LLVMdev] X86 Tablegen Description and VEX.W
...9 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 RC:$dst), (ins RC:$src1, x86memop:$src2, RC:$src3), !strconcat(OpcodeStr, "\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}"), [(set RC:$dst, (OpNode RC:$src1, (mem_frag addr:$src2), RC:$src3))]>; ... It seems that previous revisions for fma4 intrinsics also followed similar trend. Any idea wh...
2012 Apr 19
0
[LLVMdev] Target Dependent Hexagon Packetizer patch
...>> []>; >> >> let mayLoad = 1, neverHasSideEffects = 1 in >> -def LDrid_indexed_cPt : LDInst<(outs DoubleRegs:$dst), >> +def LDrid_indexed_cPt : LDInst2<(outs DoubleRegs:$dst), >> (ins PredRegs:$src1, IntRegs:$src2, u6_3Imm:$src3), >> "if ($src1) $dst=memd($src2+#$src3)", >> []>; >> >> let mayLoad = 1, neverHasSideEffects = 1 in >> -def LDrid_indexed_cNotPt : LDInst<(outs DoubleRegs:$dst), >> +def LDrid_indexed_cNotPt : LDInst2<(outs Double...
2012 Nov 16
0
[LLVMdev] Operand order in dag pattern matching in td files
...ng OpcodeStr, X86MemOperand x86memop, > RegisterClass RC, ValueType OpVT, PatFrag mem_frag, > SDPatternOperator OpNode = null_frag> { > > def r : FMA3<opc, MRMSrcReg, (outs RC:$dst), > (ins RC:$src1, RC:$src2, RC:$src3), > !strconcat(OpcodeStr, > "\t{$src3, $src2, $dst|$dst, $src2, $src3}"), > [(set RC:$dst, > (OpVT (OpNode RC:$src2, RC:$src1, RC:$src3)))]>; > > > Given that it is an FMA patt...
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
2017 Jun 11
0
[RFC 3/9] st/glsl_to_tgsi: handle precise modifier
...riable *var); @@ -505,13 +514,29 @@ public: st_src_reg src0 = undef_src, st_src_reg src1 = undef_src, st_src_reg src2 = undef_src, - st_src_reg src3 = undef_src); + st_src_reg src3 = undef_src, + unsigned precise = 0); glsl_to_tgsi_instruction *emit_asm(ir_instruction *ir, unsigned op, st_dst_reg dst, st_dst_reg dst1,...
2012 Nov 08
2
[LLVMdev] X86 Tablegen Description and VEX.W
...uot; ? (Reference) multiclass fma4s<bits<8> opc, string OpcodeStr, RegisterClass RC, X86MemOperand x86memop, ValueType OpVT, SDNode OpNode, PatFrag mem_frag> { def rr : FMA4<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2, RC:$src3), !strconcat(OpcodeStr, "\t{$src3, $src2, $src1, $dst|$dst, $src1, $src2, $src3}"), [(set RC:$dst, (OpVT (OpNode RC:$src1, RC:$src2, RC:$src3)))]>, VEX_W, MemOp4; def rm : FMA4<opc, MRMSrcMem, (outs RC:$dst), (ins RC:$src1,...
2012 Nov 16
1
[LLVMdev] Operand order in dag pattern matching in td files
...t; x86memop, > > RegisterClass RC, ValueType OpVT, PatFrag mem_frag, > > SDPatternOperator OpNode = null_frag> { > > > > def r : FMA3<opc, MRMSrcReg, (outs RC:$dst), > > (ins RC:$src1, RC:$src2, RC:$src3), > > !strconcat(OpcodeStr, > > "\t{$src3, $src2, $dst|$dst, $src2, > $src3}"), > > [(set RC:$dst, > > (OpVT (OpNode RC:$src2, RC:$src1, RC:$src3)))]>; > > > &gt...
2010 Aug 04
2
[LLVMdev] x86 Vector Shuffle Patterns
...m2f128>><<X:SHUFFLE_get_vperm2f128_imm>>) llvm/lib/Target/X86/X86InstrSIMD.td:1705:6: error: In VyPERM2F128PDirrmi: Cannot specify a transform function for a non-input value! Here the tblgen pattern looks like this: [(set VR256:$dst, (v4i64 (vperm2f128:$src3 VR256:$src1, (v4i64 (memop addr:$src2)))))], and verpm2f128 is defined as: def vperm2f128 : PatFrag<(ops node:$src1, node:$src2), (vector_shuffle node:$src1, node:$src2), [{ return X86::isVPERM2F128Mask(cast<ShuffleVectorSDNode>(N)); }], SHUFFLE_get...
2011 Nov 22
2
[LLVMdev] PTX builtin functions.
...d like so: defm MAD : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>; Where TernaryIntrinsicFloat is defined as: multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> { def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), [(set GPRF32:$dst, (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; def _v2f32 : ThreeInOneOut<opcode, (outs GPRV2F32:$dst), (ins GPRV2F32:$src, GPRV2F32:$src2, GPRV2F32:$src3), !strconcat(...
2011 Nov 23
2
[LLVMdev] PTX builtin functions.
..., int_AMDIL_mad>; > > > > Where TernaryIntrinsicFloat is defined as: > > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> > > { > > def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), > > (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), > > !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), > > [(set GPRF32:$dst, > > (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; > > def _v2f32 : ThreeInOneOut<opcode, (outs GPRV2F32:$dst), > > (ins GPRV2F32:$src, GPRV2...
2011 Nov 23
0
[LLVMdev] PTX builtin functions.
...aryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>; > > Where TernaryIntrinsicFloat is defined as: > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> > { >  def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), >      (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), >      !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), >      [(set GPRF32:$dst, >          (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; >  def _v2f32 : ThreeInOneOut<opcode, (outs GPRV2F32:$dst), >      (ins GPRV2F32:$src, GPRV2F32:$src2, GPRV2F32:$src3...
2011 Nov 23
0
[LLVMdev] PTX builtin functions.
...> > > > Where TernaryIntrinsicFloat is defined as: > > > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> > > > { > > > def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), > > > (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), > > > !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), > > > [(set GPRF32:$dst, > > > (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; > > > def _v2f32 : ThreeInOneOut<opcode, (outs GPRV2F32:$dst), > > >...
2017 Jun 11
14
[RFC 0/9] Add precise/invariant semantics to TGSI
Running Tomb Raider on Nouveau I found some flicker caused by ignoring precise modifiers on variables inside Nouveau. This series add precise/invariant handling to TGSI, which can be then used by drivers to disable certain unsafe optimisations which may otherwise alter calculations, which depend on having the same result across shaders. This series fixes this bug in Tomb Raider and one CTS test
2011 Dec 04
2
[LLVMdev] PTX builtin functions.
...> Where TernaryIntrinsicFloat is defined as: >> > > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> >> > > { >> > >  def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), >> > >      (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), >> > >      !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), >> > >      [(set GPRF32:$dst, >> > >          (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; >> > >  def _v2f32 : ThreeInOneOut<opcode, (outs GPRV2F32:$dst), >...
2011 Dec 08
3
[LLVMdev] PTX builtin functions.
...> Where TernaryIntrinsicFloat is defined as: >> > > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> >> > > { >> > > def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), >> > > (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), >> > > !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), >> > > [(set GPRF32:$dst, >> > > (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; >> > > def _v2f32 : ThreeInOneOut<opcode, (outs GPRV2F32:$dst), >...
2011 Dec 05
0
[LLVMdev] PTX builtin functions.
...trinsicFloat is defined as: > >> > > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> > >> > > { > >> > > def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), > >> > > (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), > >> > > !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), > >> > > [(set GPRF32:$dst, > >> > > (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; > >> > > def _v2f32 : ThreeInOneOut<opcode, (outs...
2011 Dec 08
0
[LLVMdev] PTX builtin functions.
...trinsicFloat is defined as: > >> > > multiclass TernaryIntrinsicFloat<ILOpCode opcode, Intrinsic intr> > >> > > { > >> > > def _f32 : ThreeInOneOut<opcode, (outs GPRF32:$dst), > >> > > (ins GPRF32:$src, GPRF32:$src2, GPRF32:$src3), > >> > > !strconcat(opcode.Text, " $dst, $src, $src2, $src3"), > >> > > [(set GPRF32:$dst, > >> > > (intr GPRF32:$src, GPRF32:$src2, GPRF32:$src3))]>; > >> > > def _v2f32 : ThreeInOneOut<opcode, (outs...
2010 Mar 13
3
[LLVMdev] Targeting low level embedded
...;m new to LLVM and I'm trying to set it up to target a low level embedded device with no OS. Therefore the final program needs to perform variable initialization and be located at a certain address location. Here is my basic flow: Compile C to bytecode: $ llvm-gcc -emit-llvm -c src1.c src2.c src3.c Consolidate to one bytecode file: $ llvm-link -o all.o src1.c src2.o src3.o Emit assembly code: $ llc -march=ppc32 -o all.s all.o Assemble to machine code: $ powerpc-eabi-as -o all.elf all.s Relocate sections to target specific addresses: $ powerpc-eabi-ld -T sections.ld -o relocated.elf all....
2009 Dec 07
2
[LLVMdev] How to use property 'isCommutable' in target description file?
Hi everyone, I practice writing target description file with MSP430 reference. I add a multiply-and-add instruction as below: let isTwoAddress=1 in { def MULADD:Pseudo<(out GR16:$dst), (ins GR16:$src1, GR16:$src2, GR16:$src3), "muladd\t{$dst, $src2, $src3}", [(set GR16:$dst, (add GR16:$src1, (mul GR16:$src2, GR16:$src3)))]> } How can i tell the system X=A*B + C == X = B*A + C == X=C+A*B == X=C+B*A by property 'isCommutable'? Is it...