https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88859
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
__y is passed in %rsi:
(gdb) p &__y
Address requested for identifier "__y" which is in register $rsi
(gdb) p __y
$24 = {static npos = <optimized out>, _M_len = 10,
_M_str = 0x402008 L"costa rica"}
(gdb) p/x $rsi
$25 = 0x4020080000000a
(gdb)
0x00401690 <+32>: mov %rdi,%rdx
^^^^^^^^^^^ This should be "mov %edi, %edx".
0x00401693 <+35>: shr $0x20,%rsi
0x00401697 <+39>: shr $0x20,%rdi
0x0040169b <+43>: callq 0x401050 <wmemcmp@plt>