search for: isfloatingpoint

Displaying 20 results from an estimated 25 matches for "isfloatingpoint".

Did you mean: floatingpoint
2007 Apr 23
0
[LLVMdev] Instruction pattern type inference problem
Digging deeper... 1. Is there a good reason that v2f32 types are excluded from the isFloatingPoint filter? Looks like a bug to me. v2f32 = 22, // 2 x f32 v4f32 = 23, // 4 x f32 <== start ?? v2f64 = 24, // 2 x f64 <== end static inline bool isFloatingPoint(ValueType VT) { return (VT >= f32 && VT <= f128) || (VT &g...
2007 Jan 19
2
[LLVMdev] Vector comparisons
...t;(Op0Ty) || (isa<PackedType>(Op0Ty) && cast<PackedType>(Op0Ty)->getElementType()->isInteger()) && "Invalid operand types for ICmp instruction"); ... // Check that the operands are the right type assert(Op0Ty->isFloatingPoint() || (isa<PackedType>(Op0Ty) && cast<PackedType>(Op0Ty)->getElementType()->isFloatingPoint ()) && "Invalid operand types for FCmp instruction"); -------------- next part -------------- An HTML attachment was scrubbed... URL: <http...
2007 Apr 23
3
[LLVMdev] Instruction pattern type inference problem
On Sun, 22 Apr 2007, Christopher Lamb wrote: > 1. Is there a good reason that v2f32 types are excluded from the > isFloatingPoint filter? Looks like a bug to me. > > v2f32 = 22, // 2 x f32 > v4f32 = 23, // 4 x f32 <== start ?? > v2f64 = 24, // 2 x f64 <== end > > static inline bool isFloatingPoint(ValueType VT) { > return (VT >= f32 &&a...
2007 Apr 23
4
[LLVMdev] Instruction pattern type inference problem
I have a back end which has both scalar and vector registers that alias each other. I'm having a problem generating the ISel from tablegen that appears only when a vector register class is declared to contain integer vectors. At that moment tablegen doesn't seem to be able to infer integer types in patterns that it was able to before, but I'm not clear on why that's the
2007 Jan 19
0
[LLVMdev] Vector comparisons
...(isa<PackedType>(Op0Ty) && > cast<PackedType>(Op0Ty)->getElementType()->isInteger()) && > "Invalid operand types for ICmp instruction"); > ... > // Check that the operands are the right type > assert(Op0Ty->isFloatingPoint() || (isa<PackedType>(Op0Ty) && > cast<PackedType>(Op0Ty)->getElementType()->isFloatingPoint()) > && > "Invalid operand types for FCmp instruction"); > > > _______________________________________________ > LLVM Dev...
2013 Jun 18
2
[LLVMdev] Failure handling half type
Here there is the dump: SelectionDAG.cpp:81: static bool llvm::ConstantFPSDNode::isValueValidForType(llvm::EVT, const llvm::APFloat &): Assertion `VT.isFloatingPoint() && "Can only convert between FP types"' failed. 0 libLLVMSupport.so 0x00007f7405022de5 llvm::sys::PrintStackTrace(_IO_FILE*) + 37 1 libLLVMSupport.so 0x00007f74050232e3 2 libpthread.so.0 0x00007f7404960cb0 3 libc.so.6 0x00007f7403bba425 gsig...
2007 Apr 23
0
[LLVMdev] Instruction pattern type inference problem
On Apr 23, 2007, at 5:08 PM, Chris Lattner wrote: > On Sun, 22 Apr 2007, Christopher Lamb wrote: >> 1. Is there a good reason that v2f32 types are excluded from the >> isFloatingPoint filter? Looks like a bug to me. >> >> v2f32 = 22, // 2 x f32 >> v4f32 = 23, // 4 x f32 <== start ?? >> v2f64 = 24, // 2 x f64 <== end >> >> static inline bool isFloatingPoint(ValueType VT) { >>...
2010 Mar 14
3
[LLVMdev] [PATCH] Before/After IR Dumps
...DAGToDAG.cpp (working copy) @@ -1548,6 +1548,107 @@ + case ISD::STORE: { + // Handle unaligned non-temporal stores. + StoreSDNode *ST = cast<StoreSDNode>(Node); + DebugLoc dl = Node->getDebugLoc(); + EVT VT = ST->getMemoryVT(); + if (VT.isVector() && + VT.isFloatingPoint() && + VT.getSizeInBits() == 128 && + ST->getAlignment() < 16) { + // Unaligned stores This is completely unrelated to your patch. +++ lib/VMCore/PassManager.cpp (working copy) #include "llvm/PassManagers.h" +#include "llvm/Assembly/Print...
2010 Apr 22
1
[LLVMdev] 2.7 release notes
...00000 +0200 > +++ ReleaseNotes.html 2010-04-22 10:27:22.000000000 +0200 > @@ -862,6 +862,18 @@ > <tt>isFPOrFPVector</tt> and <tt>isFPOrFPVector</tt> methods have been renamed > <tt>isIntegerTy</tt>, <tt>isIntOrIntVectorTy</tt>, <tt>isFloatingPointTy</tt>, > <tt>isFPOrFPVectorTy</tt> and <tt>isFPOrFPVectorTy</tt> respectively.</li> > + > +<li><tt>llvm::Instruction::clone()</tt> no longer takes argument.</li> > +<li><tt>raw_fd_ostream</tt>'s construc...
2013 Jun 29
0
[LLVMdev] Failure handling half type
...bout it? On Tue, Jun 18, 2013 at 3:43 AM, Alessio Giovanni Baroni < alessiogiovanni.baroni at gmail.com> wrote: > Here there is the dump: > > SelectionDAG.cpp:81: static bool > llvm::ConstantFPSDNode::isValueValidForType(llvm::EVT, const llvm::APFloat > &): Assertion `VT.isFloatingPoint() && "Can only convert between FP types"' > failed. > 0 libLLVMSupport.so 0x00007f7405022de5 > llvm::sys::PrintStackTrace(_IO_FILE*) + 37 > 1 libLLVMSupport.so 0x00007f74050232e3 > 2 libpthread.so.0 0x00007f7404960cb0 > 3 libc.so.6...
2013 Jun 29
0
[LLVMdev] Failure handling half type
...13 at 3:43 AM, Alessio Giovanni Baroni < > alessiogiovanni.baroni at gmail.com> wrote: > >> Here there is the dump: >> >> SelectionDAG.cpp:81: static bool >> llvm::ConstantFPSDNode::isValueValidForType(llvm::EVT, const llvm::APFloat >> &): Assertion `VT.isFloatingPoint() && "Can only convert between FP types"' >> failed. >> 0 libLLVMSupport.so 0x00007f7405022de5 >> llvm::sys::PrintStackTrace(_IO_FILE*) + 37 >> 1 libLLVMSupport.so 0x00007f74050232e3 >> 2 libpthread.so.0 0x00007f7404960cb0 >...
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...fied. 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 && &quo...
2013 Jun 17
0
[LLVMdev] Failure handling half type
Make sure you’re running LLVM with assertions enabled. You’ll get more information about what’s going wrong that way. That said, yes, this looks like a bug. Specifically, SelectionDAGLegalize::ExpandConstantFP() assumes that f32 is the smallest floating point constant type it’ll need to handle, and that MVT enum ordering reflects that. while (SVT != MVT::f32) {
2013 Jun 17
2
[LLVMdev] Failure handling half type
Hi, if I write the following simple program: target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" define void @foo () { %1 = alloca half store half 0xH42CC, half* %1 ; 0xH42CC = 3.4 %2 = load half* %1
2010 Mar 12
0
[LLVMdev] [PATCH] Before/After IR Dumps
On Friday 12 March 2010 08:13:05 Kalle Raiskila wrote: > David Greene wrote: > > Here's a rework using PassManager as Chris suggested. Comments? > > Tried this second patch with the svn version 97812 (the one the patch is > made against), but it doesn't compile: > "llvm/include/llvm/Pass.h:127: Error: expected unqualified-id before "&" >
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...fied. 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 && &quo...
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...r<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::...
2010 Mar 12
2
[LLVMdev] [PATCH] Before/After IR Dumps
David Greene wrote: > Here's a rework using PassManager as Chris suggested. Comments? Tried this second patch with the svn version 97812 (the one the patch is made against), but it doesn't compile: "llvm/include/llvm/Pass.h:127: Error: expected unqualified-id before "&" token" Seems raw_ostream is forward declared but not defined (adding a missing #include
2010 Mar 15
0
[LLVMdev] [PATCH] Before/After IR Dumps
...+1548,107 @@ > > + case ISD::STORE: { > + // Handle unaligned non-temporal stores. > + StoreSDNode *ST = cast<StoreSDNode>(Node); > + DebugLoc dl = Node->getDebugLoc(); > + EVT VT = ST->getMemoryVT(); > + if (VT.isVector() && > + VT.isFloatingPoint() && > + VT.getSizeInBits() == 128 && > + ST->getAlignment() < 16) { > + // Unaligned stores > > This is completely unrelated to your patch. Erk. I thought I got rid of that. Will do so now. > +++ lib/VMCore/PassManager.cpp (working cop...
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...r<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:...