Hi, On ThunderX, load (and store) pair that does a pair of two word (32bits) load/stores is slower in some cases than doing two load/stores. For some internal benchmarks, it provides a 2-5% improvement. This patch disables the forming of the load/store pairs for SImode if we are tuning for ThunderX. I used the tuning flags route so it can be overridden if needed later on or if someone else wants to use the same method for their core. OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions. Thanks, Andrew Pinski ChangeLog: * config/aarch64/aarch64-tuning-flags.def (slow_ldpw): New tuning option. * config/aarch64/aarch64.c (thunderx_tunings): Enable AARCH64_EXTRA_TUNE_SLOW_LDPW. (aarch64_operands_ok_for_ldpstp): Return false if AARCH64_EXTRA_TUNE_SLOW_LDPW and the mode was SImode. (aarch64_operands_adjust_ok_for_ldpstp): Likewise.