diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2019-03-14 20:38:52 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2019-03-14 13:38:52 -0700 |
commit | 12fb7712a8a20fce6f3dac80251e67251c01c209 (patch) | |
tree | 982e15f03c599a16415087c63a7dd9ade7052fa3 /gcc/hash-map-tests.c | |
parent | f869f40780836d1744ec973e6d0e9d948947d509 (diff) | |
download | gcc-12fb7712a8a20fce6f3dac80251e67251c01c209.zip gcc-12fb7712a8a20fce6f3dac80251e67251c01c209.tar.gz gcc-12fb7712a8a20fce6f3dac80251e67251c01c209.tar.bz2 |
i386: Handle REG_EH_REGION note
When we split:
(insn 18 17 76 2 (set (reg:SF 88 [ _19 ])
(float:SF (mem/c:SI (symbol_ref:DI ("d") [flags 0x2] <var_decl 0x7fd6d8290c60 d>) [1 d+0 S4 A32]))) "x.ii":4:20 170 {*floatsisf2}
(expr_list:REG_EH_REGION (const_int 2 [0x2])
(nil)))
to
(insn 94 17 18 2 (set (reg:V4SF 115)
(vec_merge:V4SF (vec_duplicate:V4SF (float:SF (mem/c:SI (symbol_ref:DI ("d") [flags 0x2] <var_decl 0x7f346837ac60 d>) [1 d+0 S4 A32])))
(reg:V4SF 114)
(const_int 1 [0x1]))) "x.ii":4:20 -1
(nil))
(insn 18 94 76 2 (set (reg:SF 88 [ _19 ])
(subreg:SF (reg:V4SF 115) 0)) "x.ii":4:20 112 {*movsf_internal}
(expr_list:REG_EH_REGION (const_int 2 [0x2])
(nil)))
we must copy the REG_EH_REGION note to the first insn and split the block
after the newly added insn. The REG_EH_REGION on the second insn will be
removed later since it no longer traps.
gcc/
PR target/89650
* config/i386/i386.c (remove_partial_avx_dependency): Handle
REG_EH_REGION note.
gcc/testsuite/
PR target/89650
* g++.target/i386/pr89650.C: New test.
From-SVN: r269694
Diffstat (limited to 'gcc/hash-map-tests.c')
0 files changed, 0 insertions, 0 deletions