search for: isint

Displaying 20 results from an estimated 46 matches for "isint".

Did you mean: sint
2016 Jun 02
2
BPF backend with vector operations - error "Could not infer all types in, pattern!"
...of i64immSExt32 I receive TableGen error "Could not infer all types in, pattern!" (exact details written below). So far I'm not able to generate selection code with TableGen for the ADD_r* instructions, etc: def i64immSExt32 : PatLeaf<(imm), [{return isInt<32>(N->getSExtValue()); }]>; As in the case of https://groups.google.com/forum/#!topic/llvm-dev/LfltBGG9ru0 : "It seems that defining a new register class changes how the tblgen infers the types in the DAG patterns. So what is the right way to add a register class for a dif...
2009 Jun 04
2
[LLVMdev] TableGen Type Inference
Can someone explain why TableGen can't figure this out? VCVTDQ2PS128rm: (set:isVoid VR128:v4f32:$dst, (sint_to_fp:v4f32 (bitconvert:isInt (ld:v4i32 addr:iPTR:$src)<<P:Predicate_memop>>))) llvm/tblgen: In VCVTDQ2PS128rm: Could not infer all types in pattern! The pattern as written looks like this: [(set VR128:$dst, (v4f32 (sint_to_fp (bc_memopv4i32 addr:$src))))] I'm trying to unify AVX/SSE converts in a reasonable...
2016 Feb 03
3
I am not understanding the size of the iso
I suppose, CentOS 7 ships with DVD and minimal version. While the minimal version is just 700M, what makes the minimal along with a GUI about 4.3 GB. Isint it too huge for an OS ? -- Cheers -- S.Ramaseshan Engineer fractalio.com ramaseshan at fractalio.com
2009 Jun 05
0
[LLVMdev] TableGen Type Inference
How is bc_memopv4i32 defined? The bitconvert in the tablegen output is marked isInt, which means it's the node that didn't get inferred. Dan On Jun 4, 2009, at 1:06 PM, David Greene wrote: > Can someone explain why TableGen can't figure this out? > > VCVTDQ2PS128rm: (set:isVoid VR128:v4f32:$dst, (sint_to_fp:v4f32 > (bitconvert:isInt (ld:v4i32 addr:iPTR:...
2007 Apr 23
1
[LLVMdev] Instruction pattern type inference problem
...reports: >> BEQ: (brcond:void (setcc:i32 GPRegs:i32:$Rsrc1, GPRegs:i32:$Rsrc2, >> SETEQ:Other), (bb:Other):$SImm16) >> >> as soon as I add a register class that supports either [v2i32] or >> [v4i32] I get the following: >> >> BGE: (brcond:void (setcc:isInt GPRegs:i32:$Rsrc1, 0:i32, >> SETGE:Other), (bb:Other):$SImm16) >> build/llvm/trunk/Debug/bin/tblgen: In BGE: Could not infer all types >> in pattern! > > Comparison nodes don't support vector types. Then this node would really benefit from a type constraint that indic...
2007 Apr 23
4
[LLVMdev] Instruction pattern type inference problem
...rc1, GPRegs:$Rsrc2)), bb: $SImm16)], s_br>; Tablegen reports: BEQ: (brcond:void (setcc:i32 GPRegs:i32:$Rsrc1, GPRegs:i32:$Rsrc2, SETEQ:Other), (bb:Other):$SImm16) as soon as I add a register class that supports either [v2i32] or [v4i32] I get the following: BGE: (brcond:void (setcc:isInt GPRegs:i32:$Rsrc1, 0:i32, SETGE:Other), (bb:Other):$SImm16) build/llvm/trunk/Debug/bin/tblgen: In BGE: Could not infer all types in pattern! Thanks -- Christopher Lamb
2007 Apr 23
0
[LLVMdev] Instruction pattern type inference problem
...s_br>; > > Tablegen reports: > BEQ: (brcond:void (setcc:i32 GPRegs:i32:$Rsrc1, GPRegs:i32:$Rsrc2, > SETEQ:Other), (bb:Other):$SImm16) > > as soon as I add a register class that supports either [v2i32] or > [v4i32] I get the following: > > BGE: (brcond:void (setcc:isInt GPRegs:i32:$Rsrc1, 0:i32, > SETGE:Other), (bb:Other):$SImm16) > build/llvm/trunk/Debug/bin/tblgen: In BGE: Could not infer all types > in pattern! Comparison nodes don't support vector types. -Chris -- http://nondot.org/sabre/ http://llvm.org/
2016 Aug 30
2
Tablegen pattern matching question
Hi all, I want to match addition with 16bit integers. So I define a pattern fragment as follows: def simm16 : PatLeaf<(imm), [{ return isInt<16>(N->getSExtValue()); }]>; Now I am confused between (add R32:$dst, simm16:$im) and (add R32:$dst, (i32 simm16:$im)). Do both of them match the same pattern? Are they equivalent? If not what is the difference? I am also confused as to how ValueTypes relate to SDNodes as I think we a...
2016 Jan 07
3
BPF backend with vector operations - some strange error
Hello. I've tried to add some simple arithmetic vector operations to the BPF backend available in the LLVM repo. Because I added in BPFRegisterInfo.td another RegisterClass (taken from the Mips backend): def MSA128W: RegisterClass<"BPF", [v2i64, v2f64], 128, (sequence "W%u", 0, 31)>; in order to support vector for example, ADD
2008 Oct 07
2
[LLVMdev] Multi instruction pattern help
...nt (f64 GPR:$src0)), (fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0))))>; Which when it runs across a 64bit float, it does a double to single conversion, and then calls the 32bit float to int routine. However, tablegen fails with the following error: 1>anonymous.2: (fp_to_uint:isInt GPR:f64:$src0) 1>f:\hq\main\sw\appeng\tools\hpc\opencl\llvm\win32\AMDIL\..\bin\Win32\De bug\TableGen.exe: In anonymous.2: Could not infer all types in pattern! Is it possible to get an example explaining what is going on and how the patterns are used? Maybe show how you can go from three di...
2009 Jun 05
1
[LLVMdev] TableGen Type Inference
On Friday 05 June 2009 17:41, Dan Gohman wrote: > How is bc_memopv4i32 defined? The bitconvert in the tablegen > output is marked isInt, which means it's the node that didn't get > inferred. def bc_memopv4i32 : PatFrag<(ops node:$ptr), (bitconvert (memopv4i32 node:$ptr))>; -Dave
2010 Mar 29
0
[LLVMdev] Patch - Big stacks on SPU, take 2
.... Would it be possible to detect this before allocating the emergency spill slot, and not request a scavenger at all? > This time there are no new unexpected failures in the regression tests. I noticed that CellSPU has a bunch of isS10Constant() functions. These already exist in MathExtras.h: isInt<10>(). Also, there is no need for 5 overloads of those functions, AFAICT. Please use the MathExtras.h functions, and remove all of the is*Constant functions in SPU.h. /jakob
2008 Oct 07
0
[LLVMdev] Multi instruction pattern help
...(fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0))))>; > > Which when it runs across a 64bit float, it does a double to single > conversion, and then calls the 32bit float to int routine. > > However, tablegen fails with the following error: > 1>anonymous.2: (fp_to_uint:isInt GPR:f64:$src0) This is trying to tell you that it inferred that fp_to_uint returns an integer type, but it doesn't know which one. Try disambiguating either the input or output with an explicit type, ilke (i32 (fp_to_uint (... -------------- next part -------------- An HTML attachment w...
2017 Feb 15
4
Unsigned int displaying as negative
...lt;i16> { let DecoderMethod= "DecodeSimm16"; let OperandType = "OPERAND_IMMEDIATE"; } def uimm16 : Operand<i16> { let PrintMethod = "printUnsignedImm"; let OperandType = "OPERAND_IMMEDIATE"; } def immSExt16x : ImmLeaf<i16, [{ return isInt<16>(Imm); }]>; def immZExt16x : ImmLeaf<i16, [{ return isUInt<16>(Imm); }]>; defm SUB16u_ : ABD_NonCommutative<"sub16u", unsignedSub, LOADRegs, GPRRegs, DSTRegs, i16, i16, i16, simm16, immZExt16x>; multiclass ABD_NonCommutative<string asmstr, SDPatternOper...
2008 Oct 07
3
[LLVMdev] Multi instruction pattern help
...c0)), (fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0))))>; Which when it runs across a 64bit float, it does a double to single conversion, and then calls the 32bit float to int routine. However, tablegen fails with the following error: 1>anonymous.2: (fp_to_uint:isInt GPR:f64:$src0) This is trying to tell you that it inferred that fp_to_uint returns an integer type, but it doesn't know which one. Try disambiguating either the input or output with an explicit type, ilke (i32 (fp_to_uint (... -------------- next part -------------- An HTML attachment was...
2010 Mar 29
3
[LLVMdev] Patch - Big stacks on SPU, take 2
Hi, attached is a second try for the bigstack patch for SPU, with testcase. It is essentially the patch committed as 97091, and reverted as 97099, but with the following additions: -in vararg handling, registers are marked to be live, to not confuse the register scavenger -function prologue and epilogue are not emitted, if the stack size is 16. 16 means it is empty - there is only the
2015 Apr 21
2
[LLVMdev] Why are imm shifts where imm >= width type eliminated entirely?
There can also be other “problems" like this one: http://reviews.llvm.org/D6946 <http://reviews.llvm.org/D6946> - Matthias > On Apr 20, 2015, at 1:44 PM, Tim Northover <t.p.northover at gmail.com> wrote: > >> The DAG combiner also performs the undefined shift -> undef though, so it >> should still be OK > > DAG combiner doesn't really run to
2016 Feb 03
5
I am not understanding the size of the iso
...gt; While the minimal version is just 700M, what makes the minimal along with a >> GUI about 4.3 GB. > All the extra packages, libs, etc that are needed to support the GUI, > plus the extra apps that are available to run in the GUI (such as > LibreOffice, FireFox, etc). > >> Isint it too huge for an OS ? > ummmm, no? > > > Peter > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos -- Cheers -- S.Ramaseshan Engineer Fractalio Data Pvt Ltd email : ramaseshan a...
2009 Apr 07
0
[LLVMdev] Porting to System z
Hi, > llvm[1]: Building Intrinsics.gen.tmp from Intrinsics.td > tblgen: IntrinsicEmitter.cpp:163: void EmitTypeForValueType(std::ostream&, > llvm::MVT::SimpleValueType): Assertion `false && "Unsupported ValueType!"' > failed. this came up before IIRC, but I don't remember the details - buggy system compiler? Try searching the archives. Also, if you
2018 Mar 09
0
[SelectionDAG] [TargetOp] How to get sub-half of immediate?
...wer 16 bits. // Transformation Function - get the higher 16 bits. def HI16 : SDNodeXForm<imm, [{ return getImm(N, (N->getZExtValue() >> 16) & 0xFFFF); }]>; Similarly, get the high 16 bits. def LUiORiPred : PatLeaf<(imm), [{ int64_t SVal = N->getSExtValue(); return isInt<32>(SVal) && (SVal & 0xffff); }]>; For completeness sake I've included this, but it's return true there are bits in both 16 bit fragments. Then we use (here VT = i32, ORiOp is our logical or which takes an immediate, LUiOp loads the upper bits of a register with an im...