Displaying 12 results from an estimated 12 matches similar to: "[LLVMdev] Cleanups in ROTL/ROTR DAG combiner code"
2013 Oct 03
2
[LLVMdev] Question about DAGCombiner::MatchRotate function
Hi all,
While I test
"clang-tests/gcc-4_2-testsuite/src/gcc.c-torture/execute/20020226-1.c",
I faced something wrong with "DAGCombiner::MatchRotate" function.
This function tries to consume some patterns and generate "ROTL" or
"ROTR" dag node as following comments:
"DAGCombier::MatchRotate" function in DAGCombiner.cpp
Pattern1
// fold (or
2012 Jul 29
0
[LLVMdev] rotate
I can get clang/llvm to emit a rotate instruction on x86-64 when compiling C by just using -Os and the rotate from Hacker's Delight i.e.,
======
#include <stdlib.h>
#include <stdint.h>
uint32_t ror(uint32_t input, size_t rot_bits)
{
return (input >> rot_bits) | (input << ((sizeof(input) << 3) - rot_bits));
}
======
Then compile with (assuming you are on OS
2012 Jul 29
0
[LLVMdev] rotate
*NOTE* IIRC compiling this with -O0 on x86-64 can yield the wrong result since clang will emit shifts and on intel shifts are mod the register size:
=====
.section __TEXT,__text,regular,pure_instructions
.globl _ror
.align 4, 0x90
_ror: ## @ror
.cfi_startproc
## BB#0:
pushq %rbp
Ltmp2:
.cfi_def_cfa_offset 16
Ltmp3:
.cfi_offset %rbp, -16
movq %rsp, %rbp
2012 Jul 29
3
[LLVMdev] rotate
Nice!
Clever compiler..
On 07/28/2012 08:55 PM, Michael Gottesman wrote:
> I can get clang/llvm to emit a rotate instruction on x86-64 when compiling C by just using -Os and the rotate from Hacker's Delight i.e.,
>
> ======
> #include<stdlib.h>
> #include<stdint.h>
>
> uint32_t ror(uint32_t input, size_t rot_bits)
> {
> return (input>>
2009 Feb 03
6
[LLVMdev] rol/ror llvm instruction set
--- On Tue, 2/3/09, Bill Wendling <isanbard at gmail.com> wrote:
> From: Bill Wendling <isanbard at gmail.com>
> Subject: Re: [LLVMdev] rol/ror llvm instruction set
> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Cc: kasra_n500 at yahoo.com
> Date: Tuesday, February 3, 2009, 2:52 PM
> On Tue, Feb 3, 2009 at 2:45 PM, Dale Johannesen
2001 Sep 12
0
AES update..
I've done a decent size update of the OpenSSH portable from the upstream
tree. There is an AES upgrade that needs to take place, but I need people
to test and tell me what endedness changes need to be applied (if any).
Attached is the patch. It is geared towards the latter snapshots..Unsure
how it will patch (if at all) against 2.9pX series.
Thanks.
- Ben
"This is dark day in
2009 May 20
0
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On Wed, May 20, 2009 at 1:19 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> Per subject, this patch adding an additional pass to handle vector
> operations; the idea is that this allows removing the code from
> LegalizeDAG that handles illegal types, which should be a significant
> simplification. There are still some issues with this patch, but does
> the approach
2009 Feb 03
0
[LLVMdev] rol/ror llvm instruction set
On Tue, Feb 3, 2009 at 2:45 PM, Dale Johannesen <dalej at apple.com> wrote:
>
> On Feb 3, 2009, at 2:35 PMPST, Mike Stump wrote:
>
>> On Feb 3, 2009, at 2:28 PM, Kasra wrote:
>>> I was looking around the LLVM instruction set and I failed to find
>>> ROL and ROR instructions. Is there any plans on adding these
>>> instructions to LLVM?
>>
2012 Jul 31
1
[LLVMdev] [llvm-commits] rotate
Well, we like the operator because it maps cleanly to Fortran's ISHFTC
intrinsic. There must also be other compilers out there, maybe catering to
cryptos, that have their own intrinsic for circular shift in other
languages. It seems wasteful for an optimizer to break apart an intrinsic
into its elemental pieces in order for LLVM to put them back together. This
was done in our compiler for some
2012 Jul 29
2
[LLVMdev] rotate
in C or C++, how can I get clang/llvm to try and do a "rotate".
(want to test this code in the mips16 port)
i.e. emit rotr node.
tia.
reed
2009 May 20
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
Per subject, this patch adding an additional pass to handle vector
operations; the idea is that this allows removing the code from
LegalizeDAG that handles illegal types, which should be a significant
simplification. There are still some issues with this patch, but does
the approach look sane?
-Eli
-------------- next part --------------
Index: lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
2009 May 21
2
[LLVMdev] [PATCH] Add new phase to legalization to handle vector operations
On Wed, May 20, 2009 at 5:26 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Wed, May 20, 2009 at 4:55 PM, Dan Gohman <gohman at apple.com> wrote:
>> Can you explain why you chose the approach of using a new pass?
>> I pictured removing LegalizeDAG's type legalization code would
>> mostly consist of finding all the places that use TLI.getTypeAction