[PATCH] D71046: Support Intel "l" suffixes for x86_64 R8-R15 registers.

Michael Trent via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 6 10:51:05 PST 2019


mtrent added a comment.

Apparently fasm, x64, Linux, (the "flat assembler") as accessible via "tio.run" will accept "l" suffix as alternate form of the r*b registers. Here's a dorky existence proof:

format ELF executable 3
use64

_start:

  mov r8l, 0xff
  mov r9l, 0xff
  mov r10l, 0xff
  mov r11l, 0xff
  mov r12l, 0xff
  mov r13l, 0xff
  mov r14l, 0xff
  mov r15l, 0xff
  mov r8b, r8l
  mov r9b, r9l
  mov r10b, r10l
  mov r11b, r11l
  mov r12b, r12l
  mov r13b, r13l
  mov r14b, r14l
  mov r15b, r15l

mov eax, 4
	mov ebx, 1
	mov ecx, msg
	mov edx, 13
	int      0x80
	mov eax, 1

  mov ebx, 0
  int 0x80
   

msg db "Hello, World!"

Program output: 
Hello, World!

Console:
flat assembler  version 1.73.16  (16384 kilobytes memory, x64)
2 passes, 179 bytes.

Real time: 0.008 s
User time: 0.004 s
Sys. time: 0.004 s
CPU share: 100.87 %
Exit code: 0

So there is an example.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71046





More information about the llvm-commits mailing list