This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/78390] [7 Regression] Bootstrap failure: match.pd: cannot determine type of operand


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78390

--- Comment #16 from Michael Matz <matz at gcc dot gnu.org> ---
Uhh:

 Successfully matched this instruction:
 (set (subreg:DI (reg:SI 73) 0)
-    (lshiftrt:DI (reg/v:DI 63 [ X ])
-        (const_int 56 [0x38])))
+    (zero_extract:DI (reg/v:DI 63 [ X ])
+        (const_int 32 [0x20])
+        (const_int -24 [0xffffffffffffffe8])))
 allowing combination of insns 22 and 23
 original costs 4 + 4 = 8
 replacement cost 4
 deferring deletion of insn with uid = 22.
-modifying insn i3    23: r73:SI#0=r63:DI 0>>0x38
+modifying insn i3    23: r73:SI#0=zero_extract(r63:DI,0x20,0xffffffffffffffe8)

Note the "-24" for the position of the extract!

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]