diff options
Diffstat (limited to 'compiler-rt')
| -rw-r--r-- | compiler-rt/lib/builtins/cpu_model.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler-rt/lib/builtins/cpu_model.c b/compiler-rt/lib/builtins/cpu_model.c index 54f1add9167..239122ffb60 100644 --- a/compiler-rt/lib/builtins/cpu_model.c +++ b/compiler-rt/lib/builtins/cpu_model.c @@ -462,12 +462,12 @@ static void getAvailableFeatures(unsigned ECX, unsigned EDX, unsigned MaxLeaf, unsigned Features2 = 0; unsigned EAX, EBX; -#define setFeature(F) \ - do { \ - if (F < 32) \ - Features |= 1 << F; \ - else if (F < 64) \ - Features2 |= 1 << (F - 32); \ +#define setFeature(F) \ + do { \ + if (F < 32) \ + Features |= 1 << (F & 0x1f) \ + else if (F < 64) \ + Features2 |= 1 << (F & 0x1f); \ } while (0) if ((EDX >> 15) & 1) |

