aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat/a-cbsyqu.ads
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2024-06-26 13:52:24 +0800
committerliuhongt <hongtao.liu@intel.com>2024-07-01 09:09:59 +0800
commite62ea4fb8ffcab06ddd02f26db91b29b7270743f (patch)
tree974cc9322edd39a38bb5886c55a1ea892f28dc6e /gcc/ada/libgnat/a-cbsyqu.ads
parent8e1fa107a63b2e160b6bf69de4fe163dd3cebd80 (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
Enable flate-combine.HEADtrunkmaster
Move pass_stv2 and pass_rpad after pre_reload pass_late_combine, also define target_insn_cost to prevent post_reload pass_late_combine to revert the optimziation did in pass_rpad. Adjust testcases since pass_late_combine generates better code but break scan assembly. .i.e Under 32-bit target, gcc used to generate broadcast from stack and then do the real operation. After flate_combine, they're combined into embeded broadcast operations. gcc/ChangeLog: * config/i386/i386-features.cc (ix86_rpad_gate): New function. * config/i386/i386-options.cc (ix86_override_options_after_change): Don't disable flate_combine. * config/i386/i386-passes.def: Move pass_stv2 and pass_rpad after pre_reload pas_late_combine. * config/i386/i386-protos.h (ix86_rpad_gate): New declare. * config/i386/i386.cc (ix86_insn_cost): New function. (TARGET_INSN_COST): Define. gcc/testsuite/ChangeLog: * gcc.target/i386/avx512f-broadcast-pr87767-1.c: Adjus testcase. * gcc.target/i386/avx512f-broadcast-pr87767-5.c: Ditto. * gcc.target/i386/avx512f-fmadd-sf-zmm-7.c: Ditto. * gcc.target/i386/avx512f-fmsub-sf-zmm-7.c: Ditto. * gcc.target/i386/avx512f-fnmadd-sf-zmm-7.c: Ditto. * gcc.target/i386/avx512f-fnmsub-sf-zmm-7.c: Ditto. * gcc.target/i386/avx512vl-broadcast-pr87767-1.c: Ditto. * gcc.target/i386/avx512vl-broadcast-pr87767-5.c: Ditto. * gcc.target/i386/pr91333.c: Ditto. * gcc.target/i386/vect-strided-4.c: Ditto.
Diffstat (limited to 'gcc/ada/libgnat/a-cbsyqu.ads')
0 files changed, 0 insertions, 0 deletions