<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83197>83197</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Merge 860b6edfa9b344fbf8c500c17158c8212ea87d1c into 18.x
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
brad0
</td>
</tr>
</table>
<pre>
MIPS: fix emitDirectiveCpsetup on N32 (#80534)
In gas, .cpsetup may expand to one of two code sequences (one is related to `__gnu_local_gp`), depending on -mno-shared and -msym32.
Since Clang doesn't support -mno-shared or -msym32, .cpsetup expands to one code sequence.
The N32 condition incorrectly leads to the incorrect `__gnu_local_gp` code sequence.
```
00000000 <t1>:
0: ffbc0008 sd gp,8(sp)
4: 3c1c0000 lui gp,0x0
4: R_MIPS_HI16 __gnu_local_gp
8: 279c0000 addiu gp,gp,0
8: R_MIPS_LO16 __gnu_local_gp
```
Fixes: #52785
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U1uv2zYM_jXyC5FApnyRH_zQ5SzYAdZtWPceyBLtaLAlz5Lb5N8PvqRdDoIRAYWA_C6kLBWC7RxRzfKfWP6WqDle_VQ3kzI8aby515_f__jCxCdo7Q1osPHNTqSj_UqnMVCcR_AOfhMIDCVDIXkuMoYV42-Mf9ryu4NOBYYnOOodM6g70G1UzkD04B2BbyF-86C9IQj0z0xOU1hIl6INMFGvIq3trOCXS-fmS--16i_dyAq-SOIJDI3kjHXd4uowOH8IVzWRgUXpMIT7IPC4ufpinSY49cp1YDwFx7CMEOZx9FN8wvrpAX2aYfMfHgM8Od81_rrSuhvtnbHRegfWaT8tC-zv0JPa4PFKPwovx3vJvueC77_1L98DmDjFlImfmdgbgS_XCNC2jeacS9gjmO3sRoYnyVCG8fsFAkC2oYRO9cq7Rz_bDcFv_Hvvy1gJ_rws39Hll_e0APgw3gMtl0YsqycdZYydH-42wf-Xk_-R-_X3tHip9mFpWz7bG4UFzVDkWMo8MbUwlahUQnVa8oqXKLhIrnWueIFCGuINikxnbYkpFdjmjSqbqhSJrZFjxhFLxFRieswzYbBqmyxFVRZoWMZpULY_9v3X4einLrEhzFRLkVZl0quG-rC-SURH32AtMsTliU71gjk0cxdYxnsbYvjBEm3sqf5MU0cgC94UZFpVNSLL2qaVOudcp2WaSy0xRVKyNKkG66KHVB5vyTz19TXGcVkDwzPDc2fjdW6O2g8Mz4vMfhzGyf9NOjI8r-YCw_Nq_t8AAAD__w6yQpg">