RANGE_EXT = 0x80000000,         /* Extended */
 };
 
-#define CPUID_INDEX_MASK               0x80000000
+#define CPUID_INDEX_MASK               0xffff0000
 #define CPUID_FUNCTION_MASK            (~CPUID_INDEX_MASK)
 
 struct cpuid_range {
         * Cut off vendor-prefix from CPUID function as we're using it as an
         * index into ->funcs.
         */
-       func = &range->funcs[f & 0xffff];
+       func = &range->funcs[f & CPUID_FUNCTION_MASK];
 
        if (!func->leafs) {
                func->leafs = malloc(sizeof(struct subleaf));
 
        cpuid(range->index, max_func, ebx, ecx, edx);
 
-       idx_func = (max_func & 0xffff) + 1;
+       idx_func = (max_func & CPUID_FUNCTION_MASK) + 1;
        range->funcs = malloc(sizeof(struct cpuid_func) * idx_func);
        if (!range->funcs)
                err(EXIT_FAILURE, NULL);
        if (!range)
                return NULL;
 
-       func_idx = index & 0xffff;
+       func_idx = index & CPUID_FUNCTION_MASK;
        if ((func_idx + 1) > (u32)range->nr)
                return NULL;