diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2025-05-07 15:33:44 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2025-05-07 15:34:03 +0200 |
commit | 2c8d632d9ed4e3aeee2156ba17fe631ecbc90dbf (patch) | |
tree | 89e0dc8af1be42afca92ae63bbe55917fbf02283 /libjava/classpath | |
parent | 210d06502f22964c7214586c54f8eb54a6965bfd (diff) | |
download | gcc-2c8d632d9ed4e3aeee2156ba17fe631ecbc90dbf.zip gcc-2c8d632d9ed4e3aeee2156ba17fe631ecbc90dbf.tar.gz gcc-2c8d632d9ed4e3aeee2156ba17fe631ecbc90dbf.tar.bz2 |
i386: implement costs for float<->int conversions in ix86_vector_costs::add_stmt_cost
This patch adds pattern matching for float<->int conversions both as normal
statements and promote_demote. While updating promote_demote I noticed that
in cleanups I turned "stmt_cost =" into "int stmt_cost = " which turned
the existing FP costing to NOOP. I also added comment on how demotes are done
when turning i.e. 32bit into 8bit value (which is the case of pr19919.c).
The patch disables vectorization in pr119919.c on generic tuning, but keeps
it at both zen and skylake+. The underlying problem is bad cost of open-coded
scatter which is tracked by 119902 so I simply added -mtune=znver1 so the testcase
keeps testing vectorization.
gcc/ChangeLog:
* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): Add FLOAT_EXPR;
FIX_TRUNC_EXPR and vec_promote_demote costs.
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr119919.c: Add -mtune=znver1
Diffstat (limited to 'libjava/classpath')
0 files changed, 0 insertions, 0 deletions