This patch resolves the bootstrap failure on x86_64-pc-linux-gnu.
Is this sufficiently "obvious" in stage4, or should I wait for the bootstrap and regression testing to complete? 2022-02-22 Roger Sayle <ro...@nextmovesoftware.com> gcc/ChangeLog * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore bootstrap. Cheers, Roger --
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc index 7f7055b..faa0191 100644 --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -23287,11 +23287,11 @@ void ix86_expand_cmpxchg_loop (rtx *ptarget_bool, rtx target_val, switch (mode) { - case TImode: + case E_TImode: gendw = gen_atomic_compare_and_swapti_doubleword; hmode = DImode; break; - case DImode: + case E_DImode: if (doubleword) { gendw = gen_atomic_compare_and_swapdi_doubleword; @@ -23300,12 +23300,15 @@ void ix86_expand_cmpxchg_loop (rtx *ptarget_bool, rtx target_val, else gen = gen_atomic_compare_and_swapdi_1; break; - case SImode: - gen = gen_atomic_compare_and_swapsi_1; break; - case HImode: - gen = gen_atomic_compare_and_swaphi_1; break; - case QImode: - gen = gen_atomic_compare_and_swapqi_1; break; + case E_SImode: + gen = gen_atomic_compare_and_swapsi_1; + break; + case E_HImode: + gen = gen_atomic_compare_and_swaphi_1; + break; + case E_QImode: + gen = gen_atomic_compare_and_swapqi_1; + break; default: gcc_unreachable (); }