[Bug gas/23013] Assembler not recognizing 3-opt dcbt instruction form on Power systems

2018-03-30 Thread bergner at vnet dot ibm.com
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

2018-03-30 Thread bergner at vnet dot ibm.com
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

2018-03-29 Thread bergner at vnet dot ibm.com
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

2018-03-29 Thread bergner at vnet dot ibm.com
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

2017-10-12 Thread bergner at vnet dot ibm.com
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

2016-11-06 Thread bergner at vnet dot ibm.com
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

2016-11-06 Thread bergner at vnet dot ibm.com
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]

2016-09-29 Thread bergner at vnet dot ibm.com
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]

2016-09-27 Thread bergner at vnet dot ibm.com
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]

2016-09-27 Thread bergner at vnet dot ibm.com
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

2016-06-03 Thread bergner at vnet dot ibm.com
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

2016-06-03 Thread bergner at vnet dot ibm.com
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

2016-01-05 Thread bergner at vnet dot ibm.com
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

2015-12-22 Thread bergner at vnet dot ibm.com
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

2015-12-13 Thread bergner at vnet dot ibm.com
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

2015-12-12 Thread bergner at vnet dot ibm.com
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)

2015-05-18 Thread bergner at vnet dot ibm.com
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

2012-10-24 Thread bergner at vnet dot ibm.com
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

2011-04-13 Thread bergner at vnet dot ibm.com
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