aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2025-05-07 15:33:44 +0200
committerJan Hubicka <hubicka@ucw.cz>2025-05-07 15:34:03 +0200
commit2c8d632d9ed4e3aeee2156ba17fe631ecbc90dbf (patch)
tree89e0dc8af1be42afca92ae63bbe55917fbf02283 /libjava
parent210d06502f22964c7214586c54f8eb54a6965bfd (diff)
downloadgcc-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')
0 files changed, 0 insertions, 0 deletions