diff options
author | Richard Biener <rguenther@suse.de> | 2025-03-27 08:21:10 +0100 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2025-03-27 14:31:55 +0100 |
commit | 365c82dbf3319e5adb5cced2dae0c4a9aa48f5bc (patch) | |
tree | 0d0426b30b7bf4ea15343ace5e21e889dbc63ddb /libcpp/files.cc | |
parent | 7d3bbdcc9df57b16c5b582de317161f96a70e491 (diff) | |
download | gcc-365c82dbf3319e5adb5cced2dae0c4a9aa48f5bc.zip gcc-365c82dbf3319e5adb5cced2dae0c4a9aa48f5bc.tar.gz gcc-365c82dbf3319e5adb5cced2dae0c4a9aa48f5bc.tar.bz2 |
target/119010 - more DFmode handling in zn4zn5 reservations
The following adds DFmode where V1DFmode and SFmode were handled.
This resolves missing reservations for adds, subs [with memory]
and for FMAs for the testcase I'm looking at. Resolved cases are
-;; 16--> b 0: i 237 xmm3=xmm3+[r9*0x8+si] :nothing
-;; 29--> b 0: i 246 xmm3=xmm3+xmm1 :nothing
-;; 46--> b 0: i 296 xmm1=xmm1-xmm3 :nothing
I've done search-and-replace for this, the catched cases look reasonable
though I'm of course not sure all of them can actually happen.
This also fixes the matched type for the znver{4,5}_sse_muladd_load
reservations from sseshuf to ssemuladd, resolving
-;; 1--> b 0: i 161 xmm0={-xmm0*xmm27+[cx+ax]} :nothing
-;; 22--> b 0: i 229 xmm11={-xmm11*xmm7+[di*0x8+dx]} :nothing
PR target/119010
* config/i386/zn4zn5.md (znver4_sse_add, znver4_sse_add_load,
znver5_sse_add_load, znver4_sse_add1, znver4_sse_add1_load,
znver5_sse_add1_load, znver4_sse_mul, znver4_sse_mul_load,
znver5_sse_mul_load, znver4_sse_cvt, znver4_sse_cvt_load,
znver5_sse_cvt_load, znver4_sse_shuf, znver5_sse_shuf,
znver4_sse_shuf_load, znver5_sse_shuf_load,
znver4_sse_cmp_avx128, znver5_sse_cmp_avx128,
znver4_sse_cmp_avx128_load, znver5_sse_cmp_avx128_load):
Also handle DFmode.
(znver4_sse_muladd_load, znver5_sse_muladd_load): Use
ssemuladd type.
Diffstat (limited to 'libcpp/files.cc')
0 files changed, 0 insertions, 0 deletions