diff options
author | liuhongt <hongtao.liu@intel.com> | 2023-02-08 11:03:14 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2023-03-31 14:15:57 +0800 |
commit | 5de5e977aa0b653e9c4982db5da5e3e428840a22 (patch) | |
tree | 20c724098881d3692bd92277c2b7b8d39a830567 /gcc | |
parent | 65dd42d2c3dac76afc26228750821dd05e75fca8 (diff) | |
download | gcc-5de5e977aa0b653e9c4982db5da5e3e428840a22.zip gcc-5de5e977aa0b653e9c4982db5da5e3e428840a22.tar.gz gcc-5de5e977aa0b653e9c4982db5da5e3e428840a22.tar.bz2 |
Adjust memory_move_cost for MASK_REGS when MODE_SIZE > 8.
It's impossible to put modes whose size > 8 into MASK_REGS.
gcc/ChangeLog:
* config/i386/i386.cc (inline_memory_move_cost): Return 100
for MASK_REGS when MODE_SIZE > 8.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/i386.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc index 2cc8e95..2581b80 100644 --- a/gcc/config/i386/i386.cc +++ b/gcc/config/i386/i386.cc @@ -19847,9 +19847,12 @@ inline_memory_move_cost (machine_mode mode, enum reg_class regclass, int in) index = 1; break; /* DImode loads and stores assumed to cost the same as SImode. */ - default: + case 4: + case 8: index = 2; break; + default: + return 100; } if (in == 2) |