gnu/gcc/ab37dbccc6aba7b146d8fabf6d3bdcfc88fdbaaa LoongArch: fix SSP routines with ILP32
I completely forgot ILP32 when I wrote those routines.
gcc/
* config/loongarch/loongarch.md
(@stack_protect_combined_set_normal_<mode>): Replace `st.d'
with `st.<d>', reject stptr.d on LA32 with enabled attribute.
(@stack_protect_combined_test_internal_<mode>): Replace `ld.d'
with `ld.<d>', reject ldptr.d on LA32 with enabled attribute.
(@stack_protect_combined_set_extreme_<mode>): Rename to ...
(stack_protect_combined_set_extreme): ... here. Force DImode.
Add TARGET_ABI_LP64 as the condition.
(stack_protect_combined_set): Adapt for the change of
stack_protect_combined_set_extreme.
gcc/testsuite/
* gcc.target/loongarch/ssp-ilp32.c: New test.
(cherry picked from commit 5093878a751cc283c76069337b55dfbd3a6aac29)
2 files changed