[llvm-bugs] [Bug 41001] [GlobalISel] [aarch64] i1 boolean is still signed extended to -1

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Mar 8 11:13:01 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=41001

Amara Emerson <aemerson at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Amara Emerson <aemerson at apple.com> ---
This looks correct, although w8 has a #-1 value, it later gets AND'd with 0x1
to do a zext-in-reg from s1 to s32. This is what I currently get at -O0:

; %bb.0:                                ; %entry
        sub     sp, sp, #32             ; =32
        stp     x29, x30, [sp, #16]     ; 16-byte Folded Spill
        add     x29, sp, #16            ; =16
        mov     w8, #-1
        str     x0, [sp, #8]
        ldr     x0, [sp, #8]
        orr     w9, wzr, #0x1
        and     w8, w8, w9. ; #-1 here becomes #1
        str     x0, [sp]                ; 8-byte Folded Spill
        mov     x0, x8
        ldr     x10, [sp]               ; 8-byte Folded Reload
        blr     x10
        ldp     x29, x30, [sp, #16]     ; 16-byte Folded Reload
        add     sp, sp, #32             ; =32
        ret

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190308/a0a1d0f9/attachment.html>


More information about the llvm-bugs mailing list