[Bug gas/23013] Assembler not recognizing 3-opt dcbt instruction form on Power systems
https://sourceware.org/bugzilla/show_bug.cgi?id=23013 Peter Bergner changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #4 from Peter Bergner --- Fixed on trunk. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/23013] Assembler not recognizing 3-opt dcbt instruction form on Power systems
https://sourceware.org/bugzilla/show_bug.cgi?id=23013 Peter Bergner changed: What|Removed |Added Status|RESOLVED|CLOSED Target Milestone|--- |2.31 --- Comment #5 from Peter Bergner --- Closing as fixed. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/23013] Assembler not recognizing 3-opt dcbt instruction form on Power systems
https://sourceware.org/bugzilla/show_bug.cgi?id=23013 Peter Bergner changed: What|Removed |Added Status|NEW |ASSIGNED URL||https://sourceware.org/ml/b ||inutils/2018-03/msg00395.ht ||ml Assignee|unassigned at sourceware dot org |bergner at vnet dot ibm.com --- Comment #2 from Peter Bergner --- Patch submitted to "fix" the problem when targeting powerpc64le-*. Otherwise you need -mpower4 or later to assemble the 3 operand form of dcbt. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/23013] Assembler not recognizing 3-opt dcbt instruction form on Power systems
https://sourceware.org/bugzilla/show_bug.cgi?id=23013 Peter Bergner changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-03-29 Ever confirmed|0 |1 --- Comment #1 from Peter Bergner --- Maybe Alan can let us know the history of this, but the default cpu gas assembles for is much more conservative (ie, older) than the default cpu objdump disassembles for. This looks to be on purpose. The 3 operand dcbt instruction (on Power server systems) is new with power4, so you can assemble the 3 operand form just fine if you use the -mpower4 (or newer) assembler option: bergner@genoa:~/binutils/BUGS/PR23013$ cat bug.s lab_1: dcbt0,10,8 bergner@genoa:~/binutils/BUGS/PR23013$ /home/bergner/binutils/build/binutils-pr23013-debug/gas/as-new bug.s -o bug.o bug.s: Assembler messages: bug.s:2: Error: junk at end of line: `8' bergner@genoa:~/binutils/BUGS/PR23013$ /home/bergner/binutils/build/binutils-pr23013-debug/gas/as-new -mpower4 bug.s -o bug.o bergner@genoa:~/binutils/BUGS/PR23013$ /home/bergner/binutils/build/binutils-pr23013-debug/binutils/objdump -d bug.o [snip] : 0: 2c 52 00 7d dcbt0,r10,8 That said, 64-bit LE is only supported on power8 and later hardware, so if we're targeting powerpc64le-*, we might as well set a more reasonable default cpu (ie, power8). The following patch accomplishes that: diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index ff76221..e3d5d84 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1403,7 +1403,14 @@ ppc_set_cpu (void) if ((ppc_cpu & ~(ppc_cpu_t) PPC_OPCODE_ANY) == 0) { if (ppc_obj64) - ppc_cpu |= PPC_OPCODE_PPC | PPC_OPCODE_64; + if (target_big_endian) + ppc_cpu |= PPC_OPCODE_PPC | PPC_OPCODE_64; + else + /* The minimum supported cpu for 64-bit little-endian is power8. */ + ppc_cpu |= PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 +| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 +| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 +| PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX; else if (strncmp (default_os, "aix", 3) == 0 && default_os[3] >= '4' && default_os[3] <= '9') ppc_cpu |= PPC_OPCODE_COMMON; With that patch, we now get (on LE, BE would still need -mpower4): bergner@genoa:~/binutils/BUGS/PR23013$ cat bug.s lab_1: dcbt0,10,8 bergner@genoa:~/binutils/BUGS/PR23013$ /home/bergner/binutils/build/binutils-pr23013-debug/gas/as-new bug.s -o bug.o bergner@genoa:~/binutils/BUGS/PR23013$ /home/bergner/binutils/build/binutils-pr23013-debug/binutils/objdump -d bug.o [snip] : 0: 2c 52 00 7d dcbt0,r10,8 -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/22085] AIX visibility in .extern, .globl, .weak, .comm not supported
https://sourceware.org/bugzilla/show_bug.cgi?id=22085 Peter Bergner changed: What|Removed |Added CC||bergner at vnet dot ibm.com -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20785] [2.28 Regression] binutils fails to assemble power6/memset.S file in glibc
https://sourceware.org/bugzilla/show_bug.cgi?id=20785 Peter Bergner changed: What|Removed |Added CC||tuliom at linux dot vnet.ibm.com --- Comment #2 from Peter Bergner --- Hmm, I cannot change this to glibc, but I'm CC'ing Tulio. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20785] [2.28 Regression] binutils fails to assemble power6/memset.S file in glibc
https://sourceware.org/bugzilla/show_bug.cgi?id=20785 --- Comment #1 from Peter Bergner --- The line with the problem is: cmpli cr1,rLEN,128 Thi sis due to Alan's patch: https://sourceware.org/ml/binutils/2016-09/msg00217.html I believe that this cmpli should be changed to cmpldi like the other uses in memset.S, so I'm chnaging this to a glibc bug. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20641] powerpc: Should not allow three-operand cmp[l][i]
https://sourceware.org/bugzilla/show_bug.cgi?id=20641 --- Comment #6 from Peter Bergner --- FYI, I just committed a fix to the gdb testsuite to account for these changes. * gdb.arch/powerpc-power.exp : Update tests to account for the compulsory L operand changes. * gdb.arch/powerpc-power.s: Likewise. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20641] powerpc: Should not allow three-operand cmp[l][i]
https://sourceware.org/bugzilla/show_bug.cgi?id=20641 --- Comment #3 from Peter Bergner --- (In reply to Alan Modra from comment #2) > {"tbegin.", {HTM_R}}, > {"tsr.",{L}}, > > I'm inclined to say L should be optional when generating ppc32 code, for > cmp* and tlbie. Not optional everywhere else. What do you think? If it's easier to handle the HTM instructions above the same as the ones you're going to update, I guess making their operands non optional is probably ok. Looking around, I think all usage of them explicitly passes an operand. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20641] powerpc: Should not allow three-operand cmp[l][i]
https://sourceware.org/bugzilla/show_bug.cgi?id=20641 Peter Bergner changed: What|Removed |Added CC||bergner at vnet dot ibm.com -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20196] Opcode regressions for e6500
https://sourceware.org/bugzilla/show_bug.cgi?id=20196 --- Comment #5 from Peter Bergner --- And fixed on the 2.26 release branch too. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/20196] Opcode regressions for e6500
https://sourceware.org/bugzilla/show_bug.cgi?id=20196 --- Comment #1 from Peter Bergner --- I have a fix. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19421] Missing weak symbols in kernel modules on ppc64el
https://sourceware.org/bugzilla/show_bug.cgi?id=19421 Peter Bergner changed: What|Removed |Added CC||bergner at vnet dot ibm.com -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/19359] gas fails with Error: junk at end of line: `8' on powerpc64le-linux-gnu
https://sourceware.org/bugzilla/show_bug.cgi?id=19359 --- Comment #8 from Peter Bergner --- (In reply to Alan Modra from comment #6) > Peter, I haven't investigated why gcc is misbehaving and I'm supposed to be > on vacation. It is almost certainly an error in rs6000.h:ASM_CPU_SPEC. Yes, it was a missing option in ASM_CPU_SPEC. Patch submitted upstream. I'll note that -mcpu=powerpc64le was already correctly setting the internal TARGET_* flags in gcc to make it mimic -mcpu=power8. The only missing part was the ASM_CPU_SPEC part to get the correct assembler option passed down. FYI, the GCC patch is located here: https://gcc.gnu.org/ml/gcc-patches/2015-12/msg02054.html -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/19359] gas fails with Error: junk at end of line: `8' on powerpc64le-linux-gnu
https://sourceware.org/bugzilla/show_bug.cgi?id=19359 --- Comment #7 from Peter Bergner --- (In reply to Alan Modra from comment #6) > Fixed mainline. As far as I can see, this isn't a binutils regression. > > gcc bug opened here: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68872 > > Peter, I haven't investigated why gcc is misbehaving and I'm supposed to be > on vacation. It is almost certainly an error in rs6000.h:ASM_CPU_SPEC. I'll have a look at the gcc bug. Thanks for debugging it this far. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/19359] [2.26/2.27 regression] gas fails with Error: junk at end of line: `8' on powerpc64le-linux-gnu
https://sourceware.org/bugzilla/show_bug.cgi?id=19359 Peter Bergner changed: What|Removed |Added CC||bergner at vnet dot ibm.com --- Comment #5 from Peter Bergner --- (In reply to Alan Modra from comment #2) > I think this is possible to fix in the assembler, but you've also uncovered > a gcc bug here. gcc ought to be passing -mpower8 to gas when given > -mcpu=powerpc64le. I would say that -mcpu=powerpc64le should be treated exactly like -mcpu=power8, so not only should it pass -mpower8 to the assembler, it should set the same TARGET_* flags within gcc itself. Alan, can you tell whether that is happening or not? -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/18414] TOC optimization bug (ignoring data deps on addis/ld - nop/ld opt)
https://sourceware.org/bugzilla/show_bug.cgi?id=18414 Peter Bergner bergner at vnet dot ibm.com changed: What|Removed |Added CC||bergner at vnet dot ibm.com -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gas/14758] ppc64 insns incorrectly assembled in 32-bit mode
http://sourceware.org/bugzilla/show_bug.cgi?id=14758 Peter Bergner bergner at vnet dot ibm.com changed: What|Removed |Added CC||bergner at vnet dot ibm.com -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/12672] LTO on powerpc will not work with static libraries
http://sourceware.org/bugzilla/show_bug.cgi?id=12672 Peter Bergner bergner at vnet dot ibm.com changed: What|Removed |Added CC||bergner at vnet dot ibm.com -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils