similar to: Portable multiplication 64 x 64 -> 128 for int128 reimplementation

Displaying 20 results from an estimated 200 matches similar to: "Portable multiplication 64 x 64 -> 128 for int128 reimplementation"

2018 Dec 30
3
[cfe-dev] Portable multiplication 64 x 64 -> 128 for int128 reimplementation
_mulx_u64 only exists when the target is x86_64. That's still not very portable. I'm not opposed to removing the bmi2 check, but gcc also has the same check so it doesn't improve portability much. ~Craig On Sat, Dec 29, 2018 at 4:44 PM Arthur O'Dwyer via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi Pawel, > > There is the _mulx_u64 intrinsic, but it
2018 Dec 31
0
[cfe-dev] Portable multiplication 64 x 64 -> 128 for int128 reimplementation
On trunk we never generate MULX. We used to blindly use it anytime bmi2 was enabled, but its a longer encoding and isn't a guaranteed register allocation improvement. So I took it out a few weeks ago. We need a more precise heuristic for when to use it. LLVM trunk will never generate ADCX/ADOX either. This was removed in September. We used to inconsistently generate them when adx was enabled
2016 Dec 21
0
Correct way to pass int128 from LLVM to C++ function (MSVC)
The Windows x64 ABI rules say that anything larger than 8 bytes is passed by reference.[1] Because MSVC doesn't support the __int128 type on x64, nobody has made sure that the LLVM i128 type is passed in a way that follows the local ABI rules. I think LLVM should probably pass i128 the same way it passes <2 x i64> on Win64, which is indirectly in memory. Until LLVM is fixed, you can
2016 Dec 21
0
Correct way to pass int128 from LLVM to C++ function (MSVC)
On Wed, Dec 21, 2016 at 11:18 AM, Stefan de Bruijn <stefan at nubilosoft.com> wrote: > Thanks for the quick reply. Yes, passing it as int128* is a workaround > that obviously works. Still, that leaves me with the return values. Or are > you suggesting that I rewrite > > > > int128 Modify(int128& tmp) { … } > > > > to > > > > void
2016 Dec 21
2
Correct way to pass int128 from LLVM to C++ function (MSVC)
Hi, I've been attempting to call a C++ function from LLVM code. The LLVM code is JIT'ted and executed from C++. Basically my idea was as follows: -- LLVM IR code - ; ModuleID = 'native' define i32 @main(i32, i8**) { code: call void @"Helper::Test"(i128 128932) ret i32 0 -- C++ code - struct int128 { uint64_t v1; uint64_t v2; // ... code omitted... *1
2016 Dec 21
2
Correct way to pass int128 from LLVM to C++ function (MSVC)
Thanks for the quick reply. Yes, passing it as int128* is a workaround that obviously works. Still, that leaves me with the return values. Or are you suggesting that I rewrite int128 Modify(int128& tmp) { … } to void Modify(int128& result, int128& tmp) { … } Obviously that will work, it just feels… dirty and wrong… :-) I’ve also attempted to bit-cast i128’s to <2 x i64> in
2011 Mar 18
1
help please: put output into dataframe
Dear R community members I have been struggling on this simple question, but never get appropriate solution. So please help. # my data, though I have a large number of variables var1 <- rnorm(500, 10,4) var2 <- rnorm(500, 20, 8) var3 <- rnorm(500, 30, 18) var4 <- rnorm(500, 40, 20) datafr1 <- data.frame(var1, var2, var3, var4) # my unsuccessful codes nvar <- ncol(datafr1)
2003 Feb 20
3
outliers/interval data extraction
Dear R-users, I have two outliers related questions. I. I have a vector consisting of 69 values. mean = 0.00086 SD = 0.02152 The shape of EDA graphics (boxplots, density plots) is heavily distorted due to outliers. How to define the interval for outliers exception? Is <2SD - mean + 2SD> interval a correct approach? Or should I define 95% (or 99%) limit of agreement for data interval,
2010 Aug 12
14
Puppet system deployment hanging ..
We have successfully installed puppet on a CentOS Server, but I am battling with a deployment. It has to do with grid software. The repository gets created, then begins installation. The problem is that it just hangs - no errors, no network activity. I can see puppet is running, but nothing it being updated. Any pointers ? -- You received this message because you are subscribed to the Google
2023 Sep 05
1
[PATCH nbdkit] server: Move size parsing code (nbdkit_parse_size) to common/include
On Tue, Sep 05, 2023 at 11:09:02AM +0100, Richard W.M. Jones wrote: > > > +static inline int64_t > > > +human_size_parse (const char *str, > > > + const char **error, const char **pstr) > > > +{ > > > + int64_t size; > > > + char *end; > > > + uint64_t scale = 1; > > > + > > > + /* XXX Should we
2020 May 21
2
on division of __int128 bit integer
Hi Team, I observer that division of __int128 bit is very heavy operation. It internally call a routine '__udivti3', which internally call ' __udivmodti4'. Due to it the overall performance is much much slower (almost 15 time slower than if I do it via a combination of 64-bit or microsoft '_udiv128'). Also what to know if I can directly call below routine directly from
2014 Sep 23
3
[LLVMdev] compiler-rt with MSVC?
I’m trying to figure out how to build compiler-rt 3.5.0 with Visual Studio 2013. In an autotools build or cmake on Linux, I believe putting the compiler-rt sources under llvm/projects is enough to build them automatically. Do I need to do anything specific to get the same with MSVC? I've tried setting -DLLVM_BUILD_EXTERNAL_COMPILER_RT either ON or OFF, but can't find any evidence of
2018 Aug 11
3
[cfe-dev] Filesystem has Landed in Libc++
On Aug 10, 2018, at 9:35 PM, Eric Fiselier <eric at efcs.ca> wrote: > > Part of me is still concerned with the future, and the filesystems which are yet to exist. > Me too. But it is best to target modern systems when targeting future systems adds an unnecessary cost. When future systems come into being, it is likely because future hardware is making those future systems
2023 Dec 02
1
Small inconsistencies in configure checks
Hi, JFYI. I am not sure it's worth reporting but, when building 2.5.5 for ALT I noticed small inconsistencies in configure output. 1. xapian-binding: checking for /usr/bin/rdoc... no checking for rdoc... /usr/bin/rdoc Looks curious but no problem since it's found anyway. 2. xapian-core when built with GCC: checking whether __builtin_add_overflow is declared... yes ...
2023 Dec 02
1
Small inconsistencies in configure checks
On Sat, Dec 02, 2023 at 10:24:57PM +0300, Vitaly Chikunov wrote: > JFYI. I am not sure it's worth reporting but, when building 2.5.5 for ALT Talking of small inconsistencies, 2.5.5 isn't a Xapian version... > I noticed small inconsistencies in configure output. > > 1. xapian-binding: > > checking for /usr/bin/rdoc... no > checking for rdoc... /usr/bin/rdoc >
2009 Oct 17
0
[LLVMdev] getIntrinsicID() optimization, mark 2
It is possible to change the name of a Function with Value::setName, so this patch _could_ cause incorrect answers. You should add a test that calls setName("intrinsic.name") to make sure this keeps working, regardless of where this patch goes. You might be able to catch such events in the ValueSymbolTable and update the intrinsic ID, but I can't find an obvious place to put that
2019 Nov 26
6
[RFC] Displaying source variable locations in llvm-objdump
Hi llvm-dev, I've uploaded a prototype patch at https://reviews.llvm.org/D70720 which adds a new feature to llvm-objdump: displaying the location (in registers/memory/etc) of source-level variables alongside the disassembly display. I've put a demo of the output at https://reviews.llvm.org/M2. I have two use-cases in mind for this: * Users reading the disassembly of compiled code. It
2009 Oct 17
2
[LLVMdev] getIntrinsicID() optimization, mark 2
Any takers? This patch improves on the previous one by making getIntrinsicID() inline. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091017/9406e0ad/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: FastIntrinsicID-2.patch Type:
2020 Mar 24
6
LLVM 10.0.0 Release
I am pleased to announce that LLVM 10 is now available. Get it here: https://llvm.org/releases/download.html#10.0.0 This release is the result of the LLVM community's work over the past six months (up to to e26a78e7085 on master plus commits up to d32170dbd5b on the release/10.x branch). Some highlights include: - C++ Concepts support in Clang - Clang no longer runs in a separate process
2020 Mar 24
6
LLVM 10.0.0 Release
I am pleased to announce that LLVM 10 is now available. Get it here: https://llvm.org/releases/download.html#10.0.0 This release is the result of the LLVM community's work over the past six months (up to to e26a78e7085 on master plus commits up to d32170dbd5b on the release/10.x branch). Some highlights include: - C++ Concepts support in Clang - Clang no longer runs in a separate process