Displaying 2 results from an estimated 2 matches for "isbitsetb_64".
Did you mean:
isbitsetb_32
2015 Jan 23
2
[LLVMdev] X86TargetLowering::LowerToBT
...– Steve
> On Jan 23, 2015, at 11:32 AM, Sanjay Patel <spatel at rotateright.com> wrote:
>
> If 'bt' is a perf sin, icc doesn't seem to know it:
>
> $ icc -v
> icc version 15.0.1 (gcc version 4.9.0 compatibility)
>
> $ cat bt.c
> unsigned long long IsBitSetB_64(unsigned long long val, int index) { return (val & (1ULL<<index)) != 0ULL; }
> unsigned int IsBitSetB_32(unsigned int val, int index) { return (val & (1U<<index)) != 0U; }
>
> $ icc -O3 -S bt.c -o - | grep bt
> .file "bt.c"
> btq %rs...
2015 Jan 22
2
[LLVMdev] X86TargetLowering::LowerToBT
On Thu Jan 22 2015 at 3:32:53 PM Chris Sears <chris.sears at gmail.com> wrote:
> The status quo is:
>
> a) 40b REX+BT instruction for the 64b case
> b) 48b TEST for the 32b case
> c) unless it's small TEST
>
>
> You are currently paying a 16b penalty for TEST vs BT in the 32b case.
> That may be worth testing the -Os flag.
>
You'll want -Oz here, Os