Skip to content
Snippets Groups Projects
  • Akira Hatanaka's avatar
    4d43b42f
    Fix bugs in cpuid.h. · 4d43b42f
    Akira Hatanaka authored
    This commit makes two changes:
    
    - Remove the push and pop instructions that were saving and restoring %ebx
      before and after cpuid in 32-bit pic mode. We were doing this to ensure we
      don't lose the GOT address in pic register %ebx, but this isn't necessary
      because the GOT address is kept in a virtual register.
    
    - In 64-bit mode, preserve base register %rbx around cpuid.
    
    This fixes PR20311 and rdar://problem/17686779.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218173 91177308-0d34-0410-b5e6-96231b3b80d8
    4d43b42f
    History
    Fix bugs in cpuid.h.
    Akira Hatanaka authored
    This commit makes two changes:
    
    - Remove the push and pop instructions that were saving and restoring %ebx
      before and after cpuid in 32-bit pic mode. We were doing this to ensure we
      don't lose the GOT address in pic register %ebx, but this isn't necessary
      because the GOT address is kept in a virtual register.
    
    - In 64-bit mode, preserve base register %rbx around cpuid.
    
    This fixes PR20311 and rdar://problem/17686779.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218173 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.