search for: sadd

Displaying 20 results from an estimated 61 matches for "sadd".

Did you mean: add
2010 Aug 09
2
[LLVMdev] Overflow trap
...n compiler to generate LLVM IR. The original back-end, which generates x86 machine code, makes use of the INTO instruction, and the runtime turns the resulting INT 4 into a language-level exception. In order to support this not-uncommon requirement using LLVM, I see three alternatives: 1. Add llvm.sadd.with.overflow.trap.*, . intrinsics corresponding to the current llvm.sadd.with.overflow.*, . intrinsics to LLVM and the current code generators. 2. Add a single llvm.trap.overflow intrinsic to LLVM and the current code generators, and ensure that the code generators can generate the proper arithme...
2009 Jul 30
2
[LLVMdev] How to produce a "Intrinsic Function" call instruction?
Hi, all. I have noticed that LLVM supports some Intrinsic Functions such as *"** llvm.sadd.with.overflow"* described in http://llvm.org/docs/LangRef.html#int_sadd_overflow. We can use these functions and needn't define the function bodies. For example, I can manually insert codes: * %res = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %a, i32 %b) %sum = extractvalue...
2010 Aug 10
0
[LLVMdev] Overflow trap
...to generate LLVM IR. The original back-end, which generates x86 machine code, makes use of the INTO instruction, and the runtime turns the resulting INT 4 into a language-level exception. In order to support this not-uncommon requirement using LLVM, I see three alternatives: > > 1. Add llvm.sadd.with.overflow.trap.*, … intrinsics corresponding to the current llvm.sadd.with.overflow.*, … intrinsics to LLVM and the current code generators. > > 2. Add a single llvm.trap.overflow intrinsic to LLVM and the current code generators, and ensure that the code generators can generate the prop...
2010 Aug 10
2
[LLVMdev] Overflow trap
After chatting on IRC, Peter wants a very specific interrupt (int4 on x86). I suggested he add a new llvm.x86.int(i32) intrinsic, and use the existing branch on llvm.sadd.with.overflow intrinsic. The x86 backend can then turn jo+int4 into into when reasonable. -Chris On Aug 9, 2010, at 5:45 PM, Chris Lattner wrote: > > On Aug 9, 2010, at 10:44 AM, Peter S. Housel wrote: > >> Several instruction set architectures include arithmetic operations tha...
2015 Feb 17
5
[LLVMdev] why llvm does not have uadd, iadd node
Hi guys, I just noticed that the LLVM has some node for signed/unsigned type( like udiv, sdiv), but why the ADD, SUB do not have the counter part sadd, uadd? best kevin
2010 Aug 22
0
[LLVMdev] [PATCH] Re: Overflow trap
...welcome), but that can be added later with no changes in semantics. -Peter- On Aug 9, 2010, at 6:05 PM, Chris Lattner wrote: > After chatting on IRC, Peter wants a very specific interrupt (int4 on x86). I suggested he add a new llvm.x86.int(i32) intrinsic, and use the existing branch on llvm.sadd.with.overflow intrinsic. The x86 backend can then turn jo+int4 into into when reasonable. > > -Chris > > On Aug 9, 2010, at 5:45 PM, Chris Lattner wrote: > >> >> On Aug 9, 2010, at 10:44 AM, Peter S. Housel wrote: >> >>> Several instruction set archit...
2019 Feb 09
2
how experimental are the llvm.experimental.vector.reduce.* functions?
...!45, metadata !DIExpression()), !dbg !52 store i32 2, i32* %b, align 4, !dbg !53 call void @llvm.dbg.declare(metadata i32* %b, metadata !48, metadata !DIExpression()), !dbg !53 %0 = load i32, i32* %a, align 4, !dbg !54 %1 = load i32, i32* %b, align 4, !dbg !55 %2 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %0, i32 %1), !dbg !56 %3 = extractvalue { i32, i1 } %2, 0, !dbg !56 %4 = extractvalue { i32, i1 } %2, 1, !dbg !56 br i1 %4, label %OverflowFail, label %OverflowOk, !dbg !56 OverflowFail: ; preds = %Entry tail call fastcc void @panic...
2019 Feb 09
2
how experimental are the llvm.experimental.vector.reduce.* functions?
...I'm having a hard > time understanding what you're trying to do with it. > llvm.experimental.vector.reduce.umax takes a vector input and returns a > scalar result. Are you wanting to find if any of the additions overflowed > or a mask of which addition overflowed? > > The sadd.with.overflow intrinsics are in the process of gaining vector > support if not already complete. Simon Pilgrim made some commits recently. > I know the documentation in the LangRef hasn't been updated. It will return > a <X x i1> vector for overflow instead i1 when vectors are us...
2019 Feb 09
2
how experimental are the llvm.experimental.vector.reduce.* functions?
...gt;> time understanding what you're trying to do with it. >> llvm.experimental.vector.reduce.umax takes a vector input and returns a >> scalar result. Are you wanting to find if any of the additions overflowed >> or a mask of which addition overflowed? >> >> The sadd.with.overflow intrinsics are in the process of gaining vector >> support if not already complete. Simon Pilgrim made some commits recently. >> I know the documentation in the LangRef hasn't been updated. It will return >> a <X x i1> vector for overflow instead i1 when ve...
2009 Apr 30
1
stepAICc
Dear R users, Would it be difficult to change the code of stepAIC (from the MASS library) to use AICc instead of AIC? It would be great to know of someone has tried this already. Best wishes Christoph.
2015 Dec 01
10
[RFC] Intrinsic naming convention (words with dots)
...erimental.', etc., but after that we lose consistency. When there is just a single word (or acronym) everything is fine, but the way we join multiple words (or acronyms) falls into three categories: 1. No separator (e.g. @llvm.readcyclecounter) 2. Using '.' as a separator (e.g. @llvm.sadd.with.overflow) 3. Using '_' as a separator (e.g. @llvm.read_register) I propose that we standardize on (2) -- words with dots -- as it seems to have a plurality of more-recent intrinsics (and I think it is easy to read, as is (3)). Thoughts? Although this is somewhat subjective, here'...
2009 Nov 22
1
Metaplot Axis Annotation
...1[,4] > c1=c("Cross-Drew (1974)", "Ahlstrom & Havighurst (1982)", "Litton & Marye (1981)", "Gold & Mattick (1974)", "Willman & Snortum (1982)", "Leiber & Mawhorr (1995)", "Hackler & Hagan (1974)", "Sadd, Kotkin, & Freidman (1983)", "New York State Division for Youth (1972)", "Spergel (2005)", "Bloom et al. (1997)", "Quigley et al. (1999)", "Thambidurai (1980", "Schochet et al. (2001)", "Gruenewald, Laurence, & West (1985...
2016 May 08
3
x.with.overflow semantics question
Hi Pete, > Or do you mean that the result of an add may not even be defined? In that case would reading it be considered UB in the case where the overflow bit was set? Yeah, this is the case I'm worried about: that for example sadd.with.overflow(INT_MAX, 1) might be designed to return { poison, true } instead of giving a useful result in the first element of the struct. John
2005 May 05
2
[LLVMdev] (no subject)
>> In other words, abandoning overflow detection makes the >> duplication of types redundant, while requiring it would be a >> great burden on CPUs that don't have overflow exception hardware. > >Yes, you're right. This has been a desired change for quite some time >now. Unfortunately, its a huge impact to nearly every part of LLVM. We >will
2007 Nov 19
5
Howto modify samba printer ACLs without Windows?
Hi all, I would like to limit access to our samba shared printers to certain user groups by commandline without using Windows. Is this possible? Thanks! Christoph
2016 May 09
2
x.with.overflow semantics question
...joy Nuno Lopes via llvm-dev wrote: >>> Or do you mean that the result of an add may not even be defined? In that case would reading it be considered UB in >>> the case where the overflow bit was set? >> >> Yeah, this is the case I'm worried about: that for example sadd.with.overflow(INT_MAX, 1) might be designed to return >> { poison, true } instead of giving a useful result in the first element of the struct. > > Any argument against that? I guess that would be the most natural definition given the motivation to have these > intrinsics (e.g., chec...
2019 Feb 09
2
how experimental are the llvm.experimental.vector.reduce.* functions?
...4 x i32> <i32 5, i32 6, i32 7, i32 8>, <4 x i32>* %b, align 16, > !dbg !56 > %0 = load <4 x i32>, <4 x i32>* %a, align 16, !dbg !57 > %1 = load <4 x i32>, <4 x i32>* %b, align 16, !dbg !58 > %2 = call { <4 x i32>, <4 x i1> } @llvm.sadd.with.overflow.i32(i32 %0, > i32 %1) > %3 = extractvalue { <4 x i32>, <4 x i1> } %2, 0, !dbg !56 > %4 = extractvalue { <4 x i32>, <4 x i1> } %2, 1, !dbg !56 > %5 = call i1 @llvm.experimental.vector.reduce.umax.i1.v4i1(%4) > br i1 %5, label %OverflowFail...
2019 Jul 02
2
RFC: Complex in LLVM
> Why? I'd prefer we avoid introducing even more special cases. Is there > any reason why we should not define "complex <scalar type>", or to be > more restrictive, "complex <floating-point type>"? I really don't like > the idea of excluding 128-bit complex types, and I think that we can > have a generic facility. Hal, we had 128-bit
2014 Apr 24
4
[LLVMdev] Proposal: add intrinsics for safe division
Hi, I’d like to propose to extend LLVM IR intrinsics set, adding new ones for safe-division. There are intrinsics for detecting overflow errors, like sadd.with.overflow, and the intrinsics I’m proposing will augment this set. The new intrinsics will return a structure with two elements according to the following rules: safe.[us]div(x,0) = safe.[us]rem(x,0) = {0, 1} safe.sdiv(min<T>, -1) = safe.srem(min<T>, -1) = {min<T>, 1} In othe...
2008 Dec 09
1
[LLVMdev] [PATH] Add sub.ovf/mul.ovf intrinsics
Hi, The add.with.overflow instrinsics don't seem to work with constant arguments, i.e. changing the call in add-with-overflow.ll to: %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 0, i32 0) causes the following exception when running the codegen tests: llc: DAGCombiner.cpp:646: void<unnamed>::DAGCombiner::Run(llvm::CombineLevel): Assertion `N->getValueType(0) == RV.getValueType() && N->getNumValues() == 1 && "Type mism...