i386: Rewrite restore_stack_nonlocal expander [PR96536].
authorUros Bizjak <ubizjak@gmail.com>
Tue, 18 Aug 2020 15:31:49 +0000 (17:31 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Tue, 18 Aug 2020 15:31:49 +0000 (17:31 +0200)
commitf8104bb9dc2365d268ca93e43a24f42e8314fcc1
treebee376c8e8242a536d6a5b307103bdf5d0ea13d4
parent6c1a58b7fbdaa8ac00957fccfb379af163309311
i386: Rewrite restore_stack_nonlocal expander [PR96536].

-fcf-protection code in restore_stack_nonlocal uses a branch based on
a clobber result.  The patch adds missing compare and completely
rewrites the expander to use high-level functions in RTL construction.

2020-08-18  Uroš Bizjak  <ubizjak@gmail.com>

gcc/ChangeLog:

PR target/96536
* config/i386/i386.md (restore_stack_nonlocal): Add missing compare
RTX.  Rewrite expander to use high-level functions in RTL construction.
gcc/config/i386/i386.md