]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Adjust memory_move_cost for MASK_REGS when MODE_SIZE > 8.
authorliuhongt <hongtao.liu@intel.com>
Wed, 8 Feb 2023 03:03:14 +0000 (11:03 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 31 Mar 2023 06:15:57 +0000 (14:15 +0800)
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.

gcc/config/i386/i386.cc

index 2cc8e9548a9535c591fce0d6a002387c81a9e8b4..2581b800a061db6a9a13c2b0420b2311f76a3584 100644 (file)
@@ -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)