[llvm-commits] PATCH: Initial patches for changing the semantics of llvm.cttz and llvm.ctlz

Dan Gohman gohman at apple.com
Thu Dec 1 11:20:05 PST 2011

On Dec 1, 2011, at 2:47 AM, Chandler Carruth wrote:
> 7) remove all support (other than auto-upgrade) for the old intrinsics

The "old" semantics really are more desirable though, in general. The only
reason I know of for the "new" semantics is to cater to x86's old bsf and
bsr instructions. But x86 admits its own deficiency, and has since introduced
the lzcnt and tzcnt instructions, which behave properly. It seems unfortunate
to require people who want the sane semantics to use a branch (even if
CodeGen is clever and can eliminate it).


More information about the llvm-commits mailing list