[PATCH] D144439: [X86] Disable base pointer register when it is clobbered.

LuoYuanke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 20 17:27:15 PST 2023


LuoYuanke added a comment.

In D144439#4140212 <https://reviews.llvm.org/D144439#4140212>, @pengfei wrote:

> Should `asm volatile ("nop"::"S"(405):);` be `asm volatile ("nop"::"b"(405):);`?

For i386 ebx is not reserved as base pointer register, and for x86-64 rbx is reserved as base pointer register. Sometimes user has to use "esi" (e.g., syscall).

  __asm__ volatile("int $0x80"
                  : "=a" (ret)
                  : "S" (call_id), "a" (arg1), "d" (arg2), "c" (arg3),
                  "b" (arg4)
                  : "memory");


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144439/new/

https://reviews.llvm.org/D144439



More information about the llvm-commits mailing list