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

            Bug ID: 43298
           Summary: Function called at the end of multiple paths results
                    in different x86_64 assembly than equivalent call
                    after all paths have completed
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedb...@nondot.org
          Reporter: jmunx...@yahoo.com
                CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

Created attachment 22490
  --> https://bugs.llvm.org/attachment.cgi?id=22490&action=edit
Code that exhibits the issue

https://godbolt.org/z/37Leg_

Clang trunk (371698) is able to reduce "munge" to the same code as "munge2". 
(BTW all versions of gcc, icc, and older clang versions could not.)

However, "munge1" and "munge3" get a slightly longer version that loads and
stores to/from a register instead of using immediates.  As best I can tell
these are all represent equivalent functions and should have the same ASM
representation for a given optimization level.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to