search for: rot_bits

Displaying 7 results from an estimated 7 matches for "rot_bits".

2012 Jul 31
0
[LLVMdev] [llvm-commits] rotate
On Tue, Jul 31, 2012 at 8:42 AM, Cameron McInally <cameron.mcinally at nyu.edu> wrote: > Andy, > > Here is the left circular shift operator patch. I apologize to the reviewer > in advance. The patch has a good bit of fine detail. Any > comments/criticisms? > > Some caveats... > > 1) This is just the bare minimum needed to make the left circular shift > operator
2012 Jul 29
3
[LLVMdev] rotate
...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>> rot_bits) | (input<< ((sizeof(input)<< 3) - rot_bits)); > } > ====== > > Then compile with (assuming you are on OS X): > ====== > ISYSROOT=$(xcodebuild -sdk macosx -version PlatformPath)/Developer/SDKs/MacOSX10.8.sdk > $(xcru...
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 X): ====== ISYSROOT=$(xcodebuild -sdk macosx -version PlatformPath)/Developer/SDKs/MacOSX10.8.sdk $(xcrun -find clang) -isysroot $ISYSROOT ror.c -c -...
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
2012 Jul 29
3
[LLVMdev] rotate
...this is from memory!). It would be nice to have a __builtin_rotl family in clang, in my opinion, but it would need back-end support from llvm. I would expect it to find use in code relating to hashing and cryptology. I know that the compiler *should* optimise uint32_t ror(uint32_t input, size_t rot_bits) { return (input >> rot_bits) | (input << ((sizeof(input) << 3) - rot_bits)); } and such macros / inline functions are common, but an intrinsic specifies intent better and could provide for better code optimisation. Would this be worthwhile pursuing? Cheers Andy
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 X): >> ====== >> ISYSROOT=$(xcodebuild -sdk macosx -version PlatformPath)/Developer...
2012 Jul 31
3
[LLVMdev] rotate
Andy, Here is the left circular shift operator patch. I apologize to the reviewer in advance. The patch has a good bit of fine detail. Any comments/criticisms? Some caveats... 1) This is just the bare minimum needed to make the left circular shift operator work (e.g. no instruction combining). 2) I tried my best to select operator names in the existing style; please feel free to change them as