<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/114121>114121</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang 18 fails tail call
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hjl-tools
</td>
</tr>
</table>
<pre>
```
[hjl@gnu-tgl-3 pr14907]$ cat s.c
extern int baz (long c1);
int
foo (short c1)
{
return baz (c1);
}
[hjl@gnu-tgl-3 pr14907]$ clang -S -O2 s.c
[hjl@gnu-tgl-3 pr14907]$ cat s.s
.text
.file "s.c"
.globl foo # -- Begin function foo
.p2align 4, 0x90
.type foo,@function
foo: # @foo
.cfi_startproc
# %bb.0:
movslq %edi, %rdi
jmp baz # TAILCALL
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.cfi_endproc
# -- End function
.ident "clang version 18.1.8 (Fedora 18.1.8-1.fc40)"
.section ".note.GNU-stack","",@progbits
.addrsig
[hjl@gnu-tgl-3 pr14907]$
``
"movslq %edi, %rdi" should be "movswq %di, %rdi"
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMlE-PmzAQxT-NuVgge4AABw7501SVovbQ9rwy2IBTx6a2SXf301cOZJPdqlKiiCT45-c38yYw52SvhahRvkH5LmKTH4yth6OKvTHKRY3hLzVakeVNdoisUb4ZjgplpNdT7HsVp3i0NKtIgfIdggy3zGOXtDMtnr2wGkvtccNeMYJSGd3jliKoULpZJC9Xqf38pTMmgG4w1i_kjBULj7EVfrL6KvlBrdg96lQx3eP4O46_wc3ygwW6q_cq8eLZ3351UglEKgQQJAFuK70yjUKkmgtMcRzjjeilxt2kWy-Nxp0xN3wEpmSvEakyBFtMnityd-bLKGYpBFuUkavEWwtRusYPvIKPsP3-4LaTT84z60drrk0JGORNkxCUrt_Qkzk79ftSbS64DDYR5JbLN-J4GhGp5qBS_GP95bBdHw7zcnIIrp-E5u9EEydfb7XhOyr-x6bQ_Gby2tRPmuP3_Qi45CJMWAhmDv4srAtNp2VCkzIM0l5wY9lyI6ZJ12YkjNZ9iE4suuF2oo0XyeevP2PnWfsrgLC9XGGOZbSmb6S_GxbGuXWyf3DWFuz-_7fkAf_vPQB2g5kUx43AC_lnIT-AEa9TXqUVi0RNi5RAmkJRRUOdFWlWFW3DyhXreAclK2m2WtGiqzhdsVUkayCQUQIVEKC0TNqy7USeFWXarNqqpSgj4sSkSpQ6nxJj-0g6N4ma0owCjRRrhHKXR88SSGhavotsHTbEzdQ7lBElnXc3CS-9EvWcHy1xx6Ry2DOpcMuUiiar6sH70YV5gj2CfS_9MDVJa04I9kFm-YhHa46i9Qj2F1sOwX5xdq7hbwAAAP__rCJqCw">