=== mpn/x86_64/coreisbr/rsh1aors_n.asm, the relevant part ===
MULFUNC_PROLOGUE(mpn_rsh1add_n mpn_rsh1add_nc mpn_rsh1sub_n mpn_rsh1sub_nc)

ABI_SUPPORT(DOS64)
ABI_SUPPORT(STD64)

ASM_START()
	TEXT

	ALIGN(16)
PROLOGUE(func_nc)
	FUNC_ENTRY(4)
IFDOS(`	mov	56(%rsp), %r8	')
	push	%rbx
	push	%rbp

	neg	%r8			C set C flag from parameter
	mov	(up), %rbp
	ADCSBB	(vp), %rbp

	jmp	L(ent)
EPILOGUE()

	ALIGN(16)
PROLOGUE(func_n)
	FUNC_ENTRY(4)
	push	%rbx
	push	%rbp

	mov	(up), %rbp
	ADDSUB	(vp), %rbp
L(ent):
	sbb	R32(%rbx), R32(%rbx)	C save cy

=== assembled object mpn/rsh1add_n.o -- CORRECT ===
symbols:
0000000000000000 T ___gmpn_rsh1add_nc
0000000000000010 T ___gmpn_rsh1add_n

relocations (one entry, at 0x0c = the jmp displacement):
/private/tmp/claude-501/-Users-avp-Sandbox-claude-bnmul/51b76709-473c-42e3-a6a4-023c24c0f6ae/scratchpad/gmpasm/gmp-6.3.0/xobj/mpn/.libs/rsh1add_n.o:
Relocation information (__TEXT,__text) 1 entries
address  pcrel length extern type    scattered symbolnum/value
0000000c 1     2      1      2       0         0
  -> pcrel=1 length=2 extern=1 type=2 (X86_64_RELOC_BRANCH) against a GLOBAL symbol

disassembly (note: otool mis-prints '0(%rsi)' as '___gmpn_rsh1add_nc(%rsi)'):
/private/tmp/claude-501/-Users-avp-Sandbox-claude-bnmul/51b76709-473c-42e3-a6a4-023c24c0f6ae/scratchpad/gmpasm/gmp-6.3.0/xobj/mpn/.libs/rsh1add_n.o:
(__TEXT,__text) section
___gmpn_rsh1add_nc:
0000000000000000	53              	pushq	%rbx
0000000000000001	55              	pushq	%rbp
0000000000000002	49f7d8          	negq	%r8
0000000000000005	488b2e          	movq	___gmpn_rsh1add_nc(%rsi), %rbp
0000000000000008	48132a          	adcq	___gmpn_rsh1add_nc(%rdx), %rbp
000000000000000b	e908000000      	jmp	___gmpn_rsh1add_n+8
___gmpn_rsh1add_n:
0000000000000010	53              	pushq	%rbx
0000000000000011	55              	pushq	%rbp
0000000000000012	488b2e          	movq	___gmpn_rsh1add_nc(%rsi), %rbp
0000000000000015	48032a          	addq	___gmpn_rsh1add_nc(%rdx), %rbp
0000000000000018	19db            	sbbl	%ebx, %ebx
000000000000001a	89e8            	movl	%ebp, %eax
000000000000001c	83e001          	andl	$0x1, %eax
000000000000001f	4189cb          	movl	%ecx, %r11d
0000000000000022	4183e303        	andl	$0x3, %r11d
0000000000000026	4183fb01        	cmpl	$0x1, %r11d
  -> 'jmp ___gmpn_rsh1add_n+8' targets offset 0x18, which is L(ent). CORRECT.
