]> 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>
Mon, 25 Nov 2024 08:44:52 +0000 (00:44 -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 436c1574d232462f8fc301060e322e9ac9564fce..111455cfcb79c340bacf25108e8addfa0a095b4f 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)