]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix uninitialized operands[2] in vec_unpacks_hi_v4sf.
authorliuhongt <hongtao.liu@intel.com>
Fri, 22 Nov 2024 07:57:38 +0000 (23:57 -0800)
committerliuhongt <hongtao.liu@intel.com>
Tue, 26 Nov 2024 01:10:25 +0000 (17:10 -0800)
It could cause weired spill in RA when register pressure is high.

gcc/ChangeLog:

PR target/117562
* config/i386/sse.md (vec_unpacks_hi_v4sf): Initialize
operands[2] with CONST0_RTX.

(cherry picked from commit ba4cf2e296d8d5950c3d356fa6b6efcad00d0189)

gcc/config/i386/sse.md

index 3ad96f321a6797b8705d7a453e275672d1950a97..09b308e03c7cfa0cc7c914b8f91b3096d8c4c637 100644 (file)
        (match_dup 2)
        (parallel [(const_int 0) (const_int 1)]))))]
   "TARGET_SSE2"
-  "operands[2] = gen_reg_rtx (V4SFmode);")
+{
+  operands[2] = gen_reg_rtx (V4SFmode);
+  emit_move_insn (operands[2], CONST0_RTX (V4SFmode));
+})
 
 (define_expand "vec_unpacks_hi_v8sf"
   [(set (match_dup 2)