<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/135487>135487</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[aarch64][x86] llvm keep .rodata..L__const section
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
guoxin049
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/oTqx9jKzb
Option is: `-O2 -g0 -mgeneral-regs-only -fdata-sections -ffunction-sections`
```
void test(void)
{
char tmp_str2[20]="te0000";
__asm__ volatile ("":"+m"(tmp_str2)::);
}
```
AArch64 ASM:
```
test:
sub sp, sp, #0x20
mov x8, #0x6574 // #25972
str wzr, [sp, #24]
add x9, sp, #0x8
movk x8, #0x3030, lsl #16
movk x8, #0x3030, lsl #32
stp x8, xzr, [sp, #8]
add sp, sp, #0x20
ret
```
x86 ASM:
```
test:
movabs rax,0x303030306574
mov QWORD PTR [rsp-0x18],rax
mov DWORD PTR [rsp-0x8],0x0
mov QWORD PTR [rsp-0x10],0x0
ret
```
Segment info:
```
***
[ 4] .rodata..L__const.test.tmp_str2 PROGBITS
***
```
AArch64 uses mov and movk for loading constants, whereas x86 generates movabs for the same purpose. Is the .rodata..L__const.test.tmp_str2 segment required, or can it be removed?
Similar issues:https://github.com/llvm/llvm-project/issues/133684
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVF1zqzYQ_TXLyw7MIj4MDzxAXHfutJ3cJpnpo0eAjLkXEFcSDje_viPZSRp7OmltjZGls2ePzorlWvfdJEQBSQXJ1uOLOUpVdItc-4ni3Ktl-7M4GjNriEpgO2C7Tra1HEwgVQds9wJsJ59-rPm3315qoPJ-Nr2csLd4hJT8e4Z-R-iPnZiE4oOvRKd9OQ0_0T-03HBfi8bGaPQPh2Vy87c1SAmotCOly6DyJPsWjdAGWGbnwHKL2FRAJSJic-QKzTjvtVEMkooRJFuItsCYEUREwBhE1ZnYBuz3XI_7PZ7kwE0_CASWWYyFlW5Sje6RvbGy3G7Z3fxCtdleySxL1RzTGMvHPyzw46aT71ZRLzVQrmdgd3j-BRbRyiwMR3kCytfsbTlNNjFefYDyc20shCX5hjleo4Dy5xflYpPqjZvF1g8qkbetJc-vMmeXxN8_Zo4oIvtn0INdCNP_BIsuWuY31HqrKPsg6F-sUMJcmbhm6afujvLEa42Kr8Duzurs19p42bYO_vnX_cMWvz49WFlKzz6toRPF7mzkO3B7C7zgaKVPCOkD8PY4j6IbxWSwnw7y9kzAXgeVkFRoi4iBkvYdCoLf9_tGTtoE9ujB6zXFrw_3v1Zfnh7dJflI8U_q98u6aKHdGfjUuuLiQSocJG_7qUOXgk9G29I8H4USXKOtwvnlNudY67eNMkeBmo8C50XNUosAv2i3-JlqfTFCiR9Lr0Rrs0mFDZ-wN1gLVGKUJ9FCtLO29WM_cIW91ovQ8MsOqjvIy6uu1ZvjUgeNHIHthuH0-vBnJb-JxgDbXeLZLoyiNIu9tojaPMq5J4pwE8dxnMdh7h0LwaImEYeaRB024aahnNIo41nIokN6aFOvLxixhOKQUR6mSR6kUdo0xGOiKKqbJoSYxMj7IbAKbCP1XO4ijJI423gDr8WgXU9mbBLP55PZBpRsPVU42fXSaYhp6LXR7zSmN4Nr5py7ctoLl1Rrltq7YlH4XYj51n-89FtvUcN1u_9fxjn9p4L9HQAA__-OidG_">