[LLVMdev] [RFC] Proposal to make LLVM-IR endian agnostic
Duncan Sands
baldrick at free.fr
Tue Oct 4 00:28:18 PDT 2011
Hi Edwin,
> FWIW here is another way to do it (which is approximately what ClamAV does currently) by introducing just one intrinsic:
> declare i1 @llvm.is_bigendian()
why is an intrinsic needed? It is easy to write a small LLVM IR function
that computes this. For example:
define i1 @is_big_endian() {
%ip = alloca i16
store i16 1, i16* %ip
%cp = bitcast i16* %ip to i8*
%c = load i8* %cp
%r = icmp eq i8 %c, 0
ret i1 %r
}
Ciao, Duncan.
More information about the llvm-dev
mailing list