[llvm-bugs] [Bug 33866] New: Minor code gen difference between debug and no-debug introduced by X86FixupSetCC.

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jul 20 17:18:06 PDT 2017


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

            Bug ID: 33866
           Summary: Minor code gen difference between debug and no-debug
                    introduced by X86FixupSetCC.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: Wolfgang_Pieb at playstation.sony.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 18824
  --> https://bugs.llvm.org/attachment.cgi?id=18824&action=edit
Test source (random generated and reduced).

The attached C++ source exhibits a subtle difference in code gen
when compiled with -g vs. without it. Nothing particularly important,
but probably caused by the presence of DBG_VALUE instructions.

Compile with clang with -O2 and with -O2 -g and diff the objdump -d
output:

58,70c58,70
<   a9: 8a 0d 00 00 00 00       mov    0x0(%rip),%cl        # af
<_Z6test30v+0xaf>
<   af: 31 c0                   xor    %eax,%eax
<   b1: 0a 4c 24 1e             or     0x1e(%rsp),%cl
<   b5: 0f 28 05 00 00 00 00    movaps 0x0(%rip),%xmm0        # bc
<_Z6test30v+0xbc>
<   bc: 0f 29 44 24 20          movaps %xmm0,0x20(%rsp)
<   c1: 0f 28 05 00 00 00 00    movaps 0x0(%rip),%xmm0        # c8
<_Z6test30v+0xc8>
<   c8: 0f 29 44 24 30          movaps %xmm0,0x30(%rsp)
<   cd: 0f 95 c1                setne  %cl
<   d0: 74 33                   je     105 <_Z6test30v+0x105>
<   d2: 88 c8                   mov    %cl,%al
<   d4: b1 01                   mov    $0x1,%cl
<   d6: 0f 57 c0                xorps  %xmm0,%xmm0
<   d9: 0f 1f 80 00 00 00 00    nopl   0x0(%rax)
---
>   a9: 8a 05 00 00 00 00       mov    0x0(%rip),%al        # af <_Z6test30v+0xaf>
>   af: 0a 44 24 1e             or     0x1e(%rsp),%al
>   b3: 0f 28 05 00 00 00 00    movaps 0x0(%rip),%xmm0        # ba <_Z6test30v+0xba>
>   ba: 0f 29 44 24 20          movaps %xmm0,0x20(%rsp)
>   bf: 0f 28 05 00 00 00 00    movaps 0x0(%rip),%xmm0        # c6 <_Z6test30v+0xc6>
>   c6: 0f 29 44 24 30          movaps %xmm0,0x30(%rsp)
>   cb: 0f 95 c0                setne  %al
>   ce: 74 35                   je     105 <_Z6test30v+0x105>
>   d0: 0f b6 c0                movzbl %al,%eax
>   d3: b1 01                   mov    $0x1,%cl
>   d5: 0f 57 c0                xorps  %xmm0,%xmm0
>   d8: 0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)
>   df: 00

-- 
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/20170721/bf073cbe/attachment.html>


More information about the llvm-bugs mailing list