I want to get these commands:
jl some_label(%rip)
# or
jl *%rax
in my asm program that I am writing for Intel x64 architecture.
GCC says that "operand type mismatch for jl" when I try to compile this code.
Conditional jumps are relative on x86. You can use an "inverted" conditional jump followed by an unconditional jump:
jge skip_jump
jmp *%rax # AT&T syntax
skip_jump:
The equivalent NASM syntax is jmp rax
. Either way, it sets RIP = RAX, so it's a register-indirect jump.