https://llvm.org/bugs/show_bug.cgi?id=24817
Bug ID: 24817 Summary: inefficient floating point register ld/st instructions are generated when -mcpu=power8 is specified Product: libraries Version: trunk Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Backend: PowerPC Assignee: unassignedb...@nondot.org Reporter: car...@google.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified The simple test case is: int foo(float *p) { float f1 = p[1]; float f2 = p[2]; return f1 > f2; } Compiler command line and output clang -S t8.c --target=powerpc -m64 -mcpu=power8 -O2 li 4, 4 // A li 5, 8 // B lxsspx 0, 3, 4 // C lxsspx 1, 3, 5 // D li 3, 0 li 4, 1 fcmpu 0, 0, 1 isel 3, 4, 3, 1 blr If I change -mcpu=power8 to -mcpu=power7, I got lfs 0, 4(3) // E lfs 1, 8(3) // F li 3, 0 li 4, 1 fcmpu 0, 0, 1 isel 3, 4, 3, 1 blr Instructions AC are replaced by E Instructions BD are replaced by F -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs