search for: isinteger

Displaying 20 results from an estimated 94 matches for "isinteger".

2015 Mar 25
0
[PATCH] nv50/ir: take postFactor into account when doing peephole optimizations
...10 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) i->op = OP_MOV; i->setSrc(0, new_ImmediateValue(prog, 0u)); i->src(0).mod = Modifier(0); + i->postFactor = 0; i->setSrc(1, NULL); } else - if (imm0.isInteger(1) || imm0.isInteger(-1)) { + if (!i->postFactor && (imm0.isInteger(1) || imm0.isInteger(-1))) { if (imm0.isNegative()) i->src(t).mod = i->src(t).mod ^ Modifier(NV50_IR_MOD_NEG); i->op = i->src(t).mod.getOp(); @@ -797,7 +801,7 @@ Constant...
2016 Oct 02
2
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...p index 9875738..8bb5cf9 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) break; case OP_MAD: if (imm0.isInteger(0)) { + ImmediateValue imm1; i->setSrc(0, i->getSrc(2)); i->src(0).mod = i->src(2).mod; i->setSrc(1, NULL); i->setSrc(2, NULL); - i->op = i->src(0).mod.getOp(); - if (i->op != OP_CVT) - i->src(0...
2012 Nov 20
2
[LLVMdev] Extended Inline asm with double data type crashes clang
Hi, Clang crashes when below snippet of code is compiled (used latest svn version) *double func1() { double x ;* * asm ( "" : "=r"(x) : "0"(x) ); return x; }* > *clang -S test1.c* > *Assertion failed: (PartVT.isInteger() || PartVT == MVT::x86mmx) && ValueVT.isInteger() && "Unknown mismatch!", file ..\..\..\..\lib\CodeGen\SelectionDAG\SelectionDAGBuilder.cpp, line 378* Compilation sucessful, If data type passed to inline asm is of *float* * float x ;* * asm ( "" : "=r&...
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
2009 Apr 07
6
[LLVMdev] Porting to System z
...llvm::TreePatternNode::hasTypeSet() const': CodeGenDAGPatterns.h:187: warning: comparison between signed and unsigned integer expressions Using gdb to see what may be happening shows that the value is llvm::MVT::i8 that it is having problems with. I assume it must be failing the MVT(VT).isInteger() test, so I added some logic to break down the test: 144 bool isInt = MVT(VT).isInteger(); (gdb) n 145 bool isSim = MVT(VT).isSimple(); (gdb) p isInt $1 = false (gdb) n 146 if (MVT(VT).isInteger()) { (gdb) p isSim $2 = true So you'd assume it's the tests in isInteger()...
2016 Oct 02
2
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...m/drivers/nouveau/codegen/nv50_ir_peephole.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp >> @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) >> break; >> case OP_MAD: >> if (imm0.isInteger(0)) { >> + ImmediateValue imm1; >> i->setSrc(0, i->getSrc(2)); >> i->src(0).mod = i->src(2).mod; >> i->setSrc(1, NULL); >> i->setSrc(2, NULL); >> - i->op = i->src(0).mod.getOp();...
2008 Jun 25
1
[LLVMdev] Assert in SelectionDAGLegalize when using arbitrary size integers
...eplacing the Int32Ty with another size (let's say 12 bits for the example). While it compiles ok, I get the following assert at run-time: HowToUseJIT: LegalizeDAG.cpp:4059: llvm::SDOperand <unnamed>::SelectionDAGLegalize::PromoteOp(llvm::SDOperand): Assertion `NVT > VT && MVT::isInteger(NVT) == MVT::isInteger(VT) && "Cannot promote to smaller type!"' failed. The corresponding code is the following: SDOperand SelectionDAGLegalize::PromoteOp(SDOperand Op) { MVT::ValueType VT = Op.getValueType(); MVT::ValueType NVT = TLI.getTypeToTransformTo(VT); assert(...
2012 Nov 20
0
[LLVMdev] Extended Inline asm with double data type crashes clang
...t; > Clang crashes when below snippet of code is compiled (used latest svn > version) > > double func1() > { > double x ; > asm ( "" : "=r"(x) : "0"(x) ); > return x; > } > >> clang -S test1.c >> Assertion failed: (PartVT.isInteger() || PartVT == MVT::x86mmx) && >> ValueVT.isInteger() && "Unknown mismatch!", file >> ..\..\..\..\lib\CodeGen\SelectionDAG\SelectionDAGBuilder.cpp, line 378 > > > Compilation sucessful, If data type passed to inline asm is of float > float x ; &gt...
2009 Apr 07
2
[LLVMdev] Porting to System z
Hi, I am beginning the porting process for Linux on System z (aka IBM Mainframe). I thought I¹d build LLVM first with the c and cpp backends so that tools like TableGen would be created that I¹d then use to process the .td files that I¹ll be creating. So I used svn to grab the code from the repository and ran configure and make. However, the build breaks at this point: llvm[1]: Building
2009 May 21
3
[LLVMdev] Passing a pointer to a function
...is not valid, use sbyte* instead!"' failed. I can try checking the type before building the function, as in: void visitLoadInst(LoadInst &I) { Value *P; P = I.getPointerOperand(); PointerType* PtrTy = (PointerType*)(P); Constant* fcall; if (PtrTy->getElementType()->isInteger()) { fcall = buildFcallMem(*theModule, "load_int", Type::Int32Ty); CallInst::Create(fcall, P, "", &I); } else if (PtrTy->getElementType()->isInteger()){ fcall = buildFcallMem(*theModule, "load_float", Type::FloatTy); CallInst::Create(fcall,...
2007 Jan 19
2
[LLVMdev] Vector comparisons
...e i1 %cmpfint(<4 x float> %x, <4 x float> %y) { %res = fcmp oeq <4 x float> %y, %y ret %res } EOT llvm-as: <stdin>:2,0: Packed types not supported by fcmp instruction [2] From CmpInst::CmpInst: // Check that the operands are the right type assert(Op0Ty->isInteger() || isa<PointerType>(Op0Ty) || (isa<PackedType>(Op0Ty) && cast<PackedType>(Op0Ty)->getElementType()->isInteger()) && "Invalid operand types for ICmp instruction"); ... // Check that the operands are the right...
2012 Nov 21
2
[LLVMdev] Extended Inline asm with double data type crashes clang
...piled (used latest svn > > version) > > > > double func1() > > { > > double x ; > > asm ( "" : "=r"(x) : "0"(x) ); > > return x; > > } > > > >> clang -S test1.c > >> Assertion failed: (PartVT.isInteger() || PartVT == MVT::x86mmx) && > >> ValueVT.isInteger() && "Unknown mismatch!", file > >> ..\..\..\..\lib\CodeGen\SelectionDAG\SelectionDAGBuilder.cpp, line 378 > > > > > > Compilation sucessful, If data type passed to inline asm is of f...
2016 Oct 02
0
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...4 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp > @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) > break; > case OP_MAD: > if (imm0.isInteger(0)) { > + ImmediateValue imm1; > i->setSrc(0, i->getSrc(2)); > i->src(0).mod = i->src(2).mod; > i->setSrc(1, NULL); > i->setSrc(2, NULL); > - i->op = i->src(0).mod.getOp(); > - if (i->op...
2015 Jan 01
0
[PATCH] nv50/ir: fold MAD when one of the multiplicands is const
...src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -784,6 +784,26 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) i->src(1).mod = 0; } break; + case OP_MAD: + if (imm0.isInteger(0)) { + i->op = OP_MOV; + i->setSrc(0, i->getSrc(2)); + i->setSrc(1, NULL); + i->setSrc(2, NULL); + } else + if (imm0.isInteger(1) || imm0.isInteger(-1)) { + if (imm0.isNegative()) + i->src(t).mod = i->src(t).mod ^ Mo...
2017 Apr 29
5
[PATCH v2] nv50/ir: optimize shl(a, 0) to a
...1..82da0d3e48 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1284,6 +1284,13 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) case OP_SHL: { + if (s == 1 && imm0.isInteger(0)) { + i->op = i->src(0).mod.getOp(); + if (i->op != OP_CVT) + i->src(0).mod = 0; + i->setSrc(1, NULL); + break; + } if (s != 1 || i->src(0).mod != Modifier(0)) break; // try to concatenate shifts -- 2.12.2
2017 Apr 29
3
[PATCH] nv50/ir: optimmize shl(a, 0) to a
...1..a2446e4df8 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1284,6 +1284,11 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s) case OP_SHL: { + if (s == 1 && imm0.isInteger(0)) { + i->op = OP_MOV; + i->setSrc(1, NULL); + break; + } if (s != 1 || i->src(0).mod != Modifier(0)) break; // try to concatenate shifts -- 2.12.2
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...xplicit type specified. std::map<std::pair<unsigned, MVT::SimpleValueType>, MVT::SimpleValueType>::const_iterator PTTI = PromoteToType.find(std::make_pair(Op, VT.getSimpleVT().SimpleTy)); if (PTTI != PromoteToType.end()) return PTTI->second; assert((VT.isInteger() || VT.isFloatingPoint()) && "Cannot autopromote this type, add it with AddPromotedToType."); EVT NVT = VT; do { NVT = (MVT::SimpleValueType)(NVT.getSimpleVT().SimpleTy+1); assert(NVT.isInteger() == VT.isInteger() && NVT != MVT::isVoid &amp...
2016 Oct 02
0
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
..._peephole.cpp >>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp >>> @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, >>> ImmediateValue &imm0, int s) >>> break; >>> case OP_MAD: >>> if (imm0.isInteger(0)) { >>> + ImmediateValue imm1; >>> i->setSrc(0, i->getSrc(2)); >>> i->src(0).mod = i->src(2).mod; >>> i->setSrc(1, NULL); >>> i->setSrc(2, NULL); >>> - i->op = i-...
2016 Oct 02
1
[PATCH] nv50/ir: Propagate third immediate src when folding OP_MAD
...gt; +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp >>>> @@ -1008,13 +1008,22 @@ ConstantFolding::opnd(Instruction *i, >>>> ImmediateValue &imm0, int s) >>>> break; >>>> case OP_MAD: >>>> if (imm0.isInteger(0)) { >>>> + ImmediateValue imm1; >>>> i->setSrc(0, i->getSrc(2)); >>>> i->src(0).mod = i->src(2).mod; >>>> i->setSrc(1, NULL); >>>> i->setSrc(2, NULL); >>>...
2002 May 20
3
Will/Can Exchange Server run with a samba pdc?
Its not for us. We migrated from our nt4 pdc to samba pdc last night with good outcomes as far as our clients but our exchange server no longer works. It failed initially as we did not have the" log on as a service user" (not strictly true, we had administrator but it didn't work for some reason) After we got a working service user then got "service specific error