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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-06-09
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
          Component|rtl-optimization            |middle-end

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed. Looks to be a mising sign extend when expanding the VCE like
MEM_REF.


;; _4 = MEM[(_BitInt(17) *)&b];

(insn 8 7 9 (parallel [
            (set (reg:SI 103)
                (and:SI (reg/v:SI 100 [ bD.2205 ])
                    (const_int 131071 [0x1ffff])))
            (clobber (reg:CC 17 flags))
        ]) "/app/example.cpp":6:10 -1
     (nil))

(insn 9 8 0 (set (reg:SI 99 [ _4 ])
        (reg:SI 103)) "/app/example.cpp":6:10 -1
     (nil))

;; b ={v} {CLOBBER(eos)};

(nil)

;; if (_4 != -65536)

(insn 10 9 11 (set (reg:CCZ 17 flags)
        (compare:CCZ (reg:SI 99 [ _4 ])
            (const_int -65536 [0xffffffffffff0000]))) "/app/example.cpp":13:6
-1
     (nil))

Reply via email to