[all-commits] [llvm/llvm-project] 3cec2a: [X86] Fix the implementation of __readcr3/__writec...

topperc via All-commits all-commits at lists.llvm.org
Thu Nov 14 13:23:33 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3cec2a17de744900401c83aedb442e2acc1f23f8
      https://github.com/llvm/llvm-project/commit/3cec2a17de744900401c83aedb442e2acc1f23f8
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2019-11-14 (Thu, 14 Nov 2019)

  Changed paths:
    M clang/lib/Headers/intrin.h
    M clang/test/Headers/ms-intrin.cpp

  Log Message:
  -----------
  [X86] Fix the implementation of __readcr3/__writecr3 to work in 64-bit mode

We need to use a 64-bit type in 64-bit mode so a 64-bit register
will get used in the generated assembly. I've also changed the
constraints to just use "r" intead of "q". "q" forces to a only
an a/b/c/d register in 32-bit mode, but I see no reason that
would matter here.

Fixes Nico's note in PR19301 over 4 years ago.

Differential Revision: https://reviews.llvm.org/D70101




More information about the All-commits mailing list