&shr ("ebx",16);
&cmp (&LB("ebx"),1); # see if cache is shared(*)
&ja (&label("nocpuid"));
- &and ("edx",~(1<<28)); # clear hyper-threading bit if not
+ &and ("edx",0xefffffff); # clear hyper-threading bit if not
&set_label("nocpuid");
&mov ("eax","edx");
&mov ("edx","ecx");