public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
@ 2012-07-31 15:35 gary at intrepid dot com
  2012-07-31 16:12 ` [Bug target/54142] " gary at intrepid dot com
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-07-31 15:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

             Bug #: 54142
           Summary: ppc64 build failure - Unrecognized opcode: `sldi' (and
                    `srdi`)
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: gary@intrepid.com
            Target: powerpc64


On several PPC64 systems, we are seeing the following build failure.

/home/garyf/gcc-4.8/wrk/./gcc/xgcc -B/home/garyf/gcc-4.8/wrk/./gcc/
[...]
 -I/home/garyf/gcc-4.8/src/libgcc/../libdecnumber -DHAVE_CC_TLS  -o
_gcov_execle.o -MT _g
cov_execle.o -MD -MP -MF _gcov_execle.dep -DL_gcov_execle -c /home/garyf/gcc-4.
8/src/libgcc/libgcov.c
/tmp/ccqVYRai.s: Assembler messages:
/tmp/ccqVYRai.s:63: Error: Unrecognized opcode: `sldi'
/tmp/ccqVYRai.s:66: Error: Unrecognized opcode: `srdi'
/tmp/ccqVYRai.s:67: Error: Unrecognized opcode: `sldi'
/tmp/ccqVYRai.s:73: Error: Unrecognized opcode: `srdi'
/tmp/ccqVYRai.s:74: Error: Unrecognized opcode: `sldi'
/tmp/ccqVYRai.s:88: Error: Unrecognized opcode: `sldi'

The failures above use the gcc-4.8-20120729 snapshot which is based on svn
revision 189947.

The configure target is: powerpc64-unknown-linux-gnu

This was built on a rather old (FC6) system running on a Mac G5, but we have
seen it also fail on newer PPC64 systems.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
@ 2012-07-31 16:12 ` gary at intrepid dot com
  2012-07-31 16:35 ` pinskia at gcc dot gnu.org
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-07-31 16:12 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #1 from Gary Funck <gary at intrepid dot com> 2012-07-31 16:12:18 UTC ---

We have determined that we can bypass the failure with the following configure
switches:

--with-long-double-128 --with-cpu-32=power4 --with-tune-32=power6
--with-cpu-64=power4 --with-tune-64=power6

This binutils email thread may be relevant:
http://sources.redhat.com/ml/binutils/2010-07/msg00260.html

The assembler that we're using is based on binutils 2.20.51.0.2 which is circa
the July, 2010 time frame.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
  2012-07-31 16:12 ` [Bug target/54142] " gary at intrepid dot com
@ 2012-07-31 16:35 ` pinskia at gcc dot gnu.org
  2012-07-31 16:54 ` gary at intrepid dot com
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-07-31 16:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-07-31 16:35:02 UTC ---
sldi and srdi are both standard PowerPC64 instructions.

How did you configure GCC?


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
  2012-07-31 16:12 ` [Bug target/54142] " gary at intrepid dot com
  2012-07-31 16:35 ` pinskia at gcc dot gnu.org
@ 2012-07-31 16:54 ` gary at intrepid dot com
  2012-07-31 16:58 ` gary at intrepid dot com
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-07-31 16:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #3 from Gary Funck <gary at intrepid dot com> 2012-07-31 16:53:52 UTC ---
(In reply to comment #2)
> sldi and srdi are both standard PowerPC64 instructions.
> 
> How did you configure GCC?

No special switches.  For example,

$src/configure \
  CFLAGS='-O0 -g3' --prefix=$rls \
  --enable-languages='c,c++' \
  --enable-checking=yes \
  --disable-bootstrap \
  --disable-multilib

is sufficient to reproduce the failure.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (2 preceding siblings ...)
  2012-07-31 16:54 ` gary at intrepid dot com
@ 2012-07-31 16:58 ` gary at intrepid dot com
  2012-07-31 17:14 ` gary at intrepid dot com
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-07-31 16:58 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #4 from Gary Funck <gary at intrepid dot com> 2012-07-31 16:57:55 UTC ---
One of target platforms is running RHEL 6.2 on a POWER7 series processor.
The binutils RPM is:
binutils-2.20.51.0.2-5.28.el6.ppc64


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (3 preceding siblings ...)
  2012-07-31 16:58 ` gary at intrepid dot com
@ 2012-07-31 17:14 ` gary at intrepid dot com
  2012-07-31 17:59 ` PHHargrove at lbl dot gov
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-07-31 17:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #5 from Gary Funck <gary at intrepid dot com> 2012-07-31 17:14:24 UTC ---
Here is the complete output at the point of a make failure.

/home/garyf/gcc-4.8/wrk/./gcc/xgcc -B/home/garyf/gcc-4.8/wrk/./gcc/ -B/home/gar
yf/gcc-4.8/rls/powerpc64-unknown-linux-gnu/bin/ -B/home/garyf/gcc-4.8/rls/power
pc64-unknown-linux-gnu/lib/ -isystem /home/garyf/gcc-4.8/rls/powerpc64-unknown-
linux-gnu/include -isystem /home/garyf/gcc-4.8/rls/powerpc64-unknown-linux-gnu/
sys-include    -O2 -O0 -g3 -O2  -O2 -O0 -g3 -DIN_GCC   -W -Wall -Wwrite-strings
 -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -
isystem ./include   -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -f
building-libgcc -fno-stack-protector   -fPIC -mlong-double-128 -mno-minimal-toc
 -I. -I. -I../.././gcc -I/home/garyf/gcc-4.8/src/libgcc -I/home/garyf/gcc-4.8/s
rc/libgcc/. -I/home/garyf/gcc-4.8/src/libgcc/../gcc -I/home/garyf/gcc-4.8/src/l
ibgcc/../include -I/home/garyf/gcc-4.8/src/libgcc/../libdecnumber/dpd -I/home/g
aryf/gcc-4.8/src/libgcc/../libdecnumber -DHAVE_CC_TLS  -o _mulvdi3.o -MT _mulvd
i3.o -MD -MP -MF _mulvdi3.dep -DL_mulvdi3 -c /home/garyf/gcc-4.8/src/libgcc/lib
gcc2.c -fvisibility=hidden -DHIDE_EXPORTS
/tmp/cci4OPcY.s: Assembler messages:
/tmp/cci4OPcY.s:384: Error: Unrecognized opcode: `srdi'
/tmp/cci4OPcY.s:430: Error: Unrecognized opcode: `srdi'
/tmp/cci4OPcY.s:481: Error: Unrecognized opcode: `srdi'
/tmp/cci4OPcY.s:535: Error: Unrecognized opcode: `srdi'


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (4 preceding siblings ...)
  2012-07-31 17:14 ` gary at intrepid dot com
@ 2012-07-31 17:59 ` PHHargrove at lbl dot gov
  2012-08-11  1:24 ` gary at intrepid dot com
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: PHHargrove at lbl dot gov @ 2012-07-31 17:59 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #6 from Paul H. Hargrove <PHHargrove at lbl dot gov> 2012-07-31 17:59:31 UTC ---
(In reply to comment #2)
> sldi and srdi are both standard PowerPC64 instructions.


IBM's "Programming Environments Manual for 64-Bit Microprocessors" lists sldi
and srdi as "Simplified Mnemonics".  Perhaps using the canonical instructions
is a simple resolution to this bug?

Shift left immediate      sldi rA,rS,n (n < 64)        rldicr rA,rS,n,63 – n
Shift right immediate    srdi rA,rS,n (n < 64)        rldicl rA,rS,64 – n,n


Additionally, there may be a GAS bug lurking here as well.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (5 preceding siblings ...)
  2012-07-31 17:59 ` PHHargrove at lbl dot gov
@ 2012-08-11  1:24 ` gary at intrepid dot com
  2012-08-13 22:04 ` PHHargrove at lbl dot gov
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-08-11  1:24 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #7 from Gary Funck <gary at intrepid dot com> 2012-08-11 01:24:37 UTC ---
We're still running into this build failure on PPC64, using a recent revision
of the HEAD version.  Is there additional information that is needed to help
track down the cause of the build failure?


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (6 preceding siblings ...)
  2012-08-11  1:24 ` gary at intrepid dot com
@ 2012-08-13 22:04 ` PHHargrove at lbl dot gov
  2012-08-13 22:42 ` PHHargrove at lbl dot gov
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: PHHargrove at lbl dot gov @ 2012-08-13 22:04 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #8 from Paul H. Hargrove <PHHargrove at lbl dot gov> 2012-08-13 22:04:40 UTC ---
The following is a transcript of a test I just tried one of my systems where
Gary and I have observed this bug.  The test appears to show that the gcc
provided by Fedora Core 6 does generate "sldi" instructions and the
system-provided assembler understands them.  So, whatever is causing the build
failures that Gary and I see, it is *not* simply a matter of an assembler not
supporting the instructions.

-Paul

{phargrov@fc6 ~}$ cat q.c
unsigned long long foo(void) { return 0x00007FFF00000000LLU; }

{phargrov@fc6 ~}$ gcc -m64 -O -S q.c

{phargrov@fc6 ~}$ cat q.s
        .file   "q.c"
        .section        ".toc","aw"
        .section        ".text"
        .align 2
        .globl foo
        .section        ".opd","aw"
        .align 3
foo:
        .quad   .L.foo,.TOC.@tocbase
        .previous
        .type   foo, @function
.L.foo:
        lis 3,0x7fff
        sldi 3,3,16
        blr
        .long 0
        .byte 0,0,0,0,0,0,0,0
        .size   foo,.-.L.foo
        .ident  "GCC: (GNU) 4.1.2 20070626 (Red Hat 4.1.2-13)"
        .section        .note.GNU-stack,"",@progbits

{phargrov@fc6 ~}$ as -a64 -mppc64 q.s
[no errors]


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (7 preceding siblings ...)
  2012-08-13 22:04 ` PHHargrove at lbl dot gov
@ 2012-08-13 22:42 ` PHHargrove at lbl dot gov
  2012-08-13 22:54 ` PHHargrove at lbl dot gov
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: PHHargrove at lbl dot gov @ 2012-08-13 22:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #9 from Paul H. Hargrove <PHHargrove at lbl dot gov> 2012-08-13 22:42:16 UTC ---
Following up on my previous experiment, I tried the same input with the xgcc
which is failing to build libdecnumber.  If also fails with the 1-line test
case:

{phargrov@fc6 ~}$ cat q.c
unsigned long long foo(void) { return 0x00007FFF00000000LLU; }

{phargrov@fc6 ~}$ /usr/local/upc/compiler/bld/./gcc/xgcc
-B/usr/local/upc/compiler/bld/./gcc/ -m64 -O  ~/q.c
/tmp/cctmw5wO.s: Assembler messages:
/tmp/cctmw5wO.s:14: Error: Unrecognized opcode: `sldi'


Examining stderr when "-v" is passed to the two compilers reveals a KEY
difference:

{phargrov@fc6 ~}$ gcc -m64 -O -v -c q.c 2>&1 | grep -w as
 as -a64 -mppc64 -many -V -Qy -o q.o /tmp/ccpjKGBl.s

{phargrov@fc6 ~}$ /usr/local/upc/compiler/bld/./gcc/xgcc
-B/usr/local/upc/compiler/bld/./gcc/ -m64 -O -v -c ~/q.c 2>&1 | grep -w as
 /usr/local/upc/compiler/bld/./gcc/as -v -a64 -mcom -many -o q.o
/tmp/cctEFZq2.s


The difference (other than the use of the built-time wrapper script) is
"-mppc64" for the Red Hat built gcc-4.2.1 vs "-mcom" for the 4.8.0 snapshot. 
The following shows that this flag, not the presence of the wrapper script is
the origin of the failure:

{phargrov@fc6 ~}$ /usr/local/upc/compiler/bld/./gcc/as  -a64 -mcom -many -o q.o
q.s
q.s: Assembler messages:
q.s:14: Error: Unrecognized opcode: `sldi'

{phargrov@fc6 ~}$ /usr/local/upc/compiler/bld/./gcc/as  -a64 -mppc64 -many -o
q.o q.s
[no error]

{phargrov@fc6 ~}$ /usr/bin/as  -a64 -mcom -many -o q.o q.s
q.s: Assembler messages:
q.s:14: Error: Unrecognized opcode: `sldi'

{phargrov@fc6 ~}$ /usr/bin/as  -a64 -mppc64 -many -o q.o q.s
[no error]

So, assuming gas is correct in rejecting 'sldi' and 'srdi' in "common" mode the
question becomes, "why is gcc by default specifying a target to the assembler
which doesn't support the instructions it is generating?"

Of course, if 'sldi' and 'slri' ARE supposed to be supported in "common" mode,
then this is a binutils bug.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (8 preceding siblings ...)
  2012-08-13 22:42 ` PHHargrove at lbl dot gov
@ 2012-08-13 22:54 ` PHHargrove at lbl dot gov
  2012-08-13 23:01 ` gary at intrepid dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: PHHargrove at lbl dot gov @ 2012-08-13 22:54 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #10 from Paul H. Hargrove <PHHargrove at lbl dot gov> 2012-08-13 22:54:12 UTC ---
(In reply to comment #9)
> Following up on my previous experiment, I tried the same input with the xgcc
> which is failing to build libdecnumber.  If also fails with the 1-line test
> case:

Oops.
That should have said "failing to build libgcc2", not "libdecnumber".


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (9 preceding siblings ...)
  2012-08-13 22:54 ` PHHargrove at lbl dot gov
@ 2012-08-13 23:01 ` gary at intrepid dot com
  2012-08-13 23:14 ` [Bug target/54142] [4.8 regression] " schwab@linux-m68k.org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-08-13 23:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #11 from Gary Funck <gary at intrepid dot com> 2012-08-13 23:00:57 UTC ---
It is possible that revision 189908 introduced the 'mcom' change.

Index: src/gcc/config/rs6000/rs6000.h
===================================================================
--- src/gcc/config/rs6000/rs6000.h      (revision 189907)
+++ src/gcc/config/rs6000/rs6000.h      (revision 189908)
@@ -101,17 +101,12 @@
    you make changes here, make them also there.  */
 #define ASM_CPU_SPEC \
 "%{!mcpu*: \
-  %{mpower: %{!mpower2: -mpwr}} \
-  %{mpower2: -mpwrx} \
   %{mpowerpc64*: -mppc64} \
   %{!mpowerpc64*: %{mpowerpc*: -mppc}} \
-  %{mno-power: %{!mpowerpc*: -mcom}} \
-  %{!mno-power: %{!mpower*: %(asm_default)}}} \
+  %{!mpowerpc*: -mcom}} \
[...]

r189908 | segher | 2012-07-27 04:44:37 -0700 (Fri, 27 Jul 2012) | 115 lines

2012-07-26  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
        Delete code for -mno-power, -mpower, and -mpower2.
        * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
[...]


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (10 preceding siblings ...)
  2012-08-13 23:01 ` gary at intrepid dot com
@ 2012-08-13 23:14 ` schwab@linux-m68k.org
  2012-08-14  0:01 ` PHHargrove at lbl dot gov
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: schwab@linux-m68k.org @ 2012-08-13 23:14 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

Andreas Schwab <schwab@linux-m68k.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-08-13
   Target Milestone|---                         |4.8.0
            Summary|ppc64 build failure -       |[4.8 regression] ppc64
                   |Unrecognized opcode: `sldi' |build failure -
                   |(and `srdi`)                |Unrecognized opcode: `sldi'
                   |                            |(and `srdi`)
     Ever Confirmed|0                           |1

--- Comment #12 from Andreas Schwab <schwab@linux-m68k.org> 2012-08-13 23:14:04 UTC ---
Confirmed.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (11 preceding siblings ...)
  2012-08-13 23:14 ` [Bug target/54142] [4.8 regression] " schwab@linux-m68k.org
@ 2012-08-14  0:01 ` PHHargrove at lbl dot gov
  2012-08-14  7:49 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: PHHargrove at lbl dot gov @ 2012-08-14  0:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #13 from Paul H. Hargrove <PHHargrove at lbl dot gov> 2012-08-14 00:01:08 UTC ---
(In reply to comment #9)
> Of course, if 'sldi' and 'slri' ARE supposed to be supported in "common" mode,
> then this is a binutils bug.

I've confirmed that these instruction are NOT in the POWER ISA, and thus gas is
correct in rejecting them in "-mcom" mode.

Reference:

"Appendix F. New Instructions"
in "Book I: PowerPC User Instruction Set Architecture"
which is one volume in "PowerPC Architecture Book, Version 2.02"
PDF:
http://download.boulder.ibm.com/ibmdl/pub/software/dw/library/es-ppcbook1.zip

Specifically, the Appendix F table lists instructions in the PowerPC ISA that
are not part of the POWER ISA.  The "rldicl" and "rldicr" instructions are
among those listed (and as noted previously, "sldi" and "srdi" are just
"extended mnemonics" for those two).


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (12 preceding siblings ...)
  2012-08-14  0:01 ` PHHargrove at lbl dot gov
@ 2012-08-14  7:49 ` jakub at gcc dot gnu.org
  2012-08-14 13:17 ` gary at intrepid dot com
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-08-14  7:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-08-14 07:49:11 UTC ---
Yeah, IMHO it should have added
  %{!mpower*: %(asm_default)}} \
line instead of
  %{!mpowerpc*: -mcom}} \


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (13 preceding siblings ...)
  2012-08-14  7:49 ` jakub at gcc dot gnu.org
@ 2012-08-14 13:17 ` gary at intrepid dot com
  2012-08-14 16:45 ` segher at gcc dot gnu.org
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: gary at intrepid dot com @ 2012-08-14 13:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #15 from Gary Funck <gary at intrepid dot com> 2012-08-14 13:17:26 UTC ---
(In reply to comment #14)
> Yeah, IMHO it should have added
>   %{!mpower*: %(asm_default)}} \
> line instead of
>   %{!mpowerpc*: -mcom}} \

That change fixed the build failure on a POWER7 system running RHEL 6.2 that I
tried it on, where it failed without the patch.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (14 preceding siblings ...)
  2012-08-14 13:17 ` gary at intrepid dot com
@ 2012-08-14 16:45 ` segher at gcc dot gnu.org
  2012-08-14 17:11 ` dje at gcc dot gnu.org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: segher at gcc dot gnu.org @ 2012-08-14 16:45 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |segher at gcc dot gnu.org
         AssignedTo|unassigned at gcc dot       |segher at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #16 from Segher Boessenkool <segher at gcc dot gnu.org> 2012-08-14 16:44:09 UTC ---
Mine.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (15 preceding siblings ...)
  2012-08-14 16:45 ` segher at gcc dot gnu.org
@ 2012-08-14 17:11 ` dje at gcc dot gnu.org
  2012-08-14 22:55 ` segher at gcc dot gnu.org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: dje at gcc dot gnu.org @ 2012-08-14 17:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

David Edelsohn <dje at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dje at gcc dot gnu.org

--- Comment #17 from David Edelsohn <dje at gcc dot gnu.org> 2012-08-14 17:09:57 UTC ---
Jakub's fix looks right.


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (16 preceding siblings ...)
  2012-08-14 17:11 ` dje at gcc dot gnu.org
@ 2012-08-14 22:55 ` segher at gcc dot gnu.org
  2012-08-16  0:59 ` segher at gcc dot gnu.org
  2012-08-16  2:18 ` segher at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: segher at gcc dot gnu.org @ 2012-08-14 22:55 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #18 from Segher Boessenkool <segher at gcc dot gnu.org> 2012-08-14 22:54:35 UTC ---
Right, but

  %{!mpowerpc*: %(asm_default)}} \

instead, since the -mpower option is no more.

I didn't even pick the wrong condition branch there: the original
code does not do the right thing for "gcc -mno-power", which is
effectively always on after my patch.  But let's not always do
the wrong thing; patch coming up (it needs changing in a few places
more).


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (17 preceding siblings ...)
  2012-08-14 22:55 ` segher at gcc dot gnu.org
@ 2012-08-16  0:59 ` segher at gcc dot gnu.org
  2012-08-16  2:18 ` segher at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: segher at gcc dot gnu.org @ 2012-08-16  0:59 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

--- Comment #19 from Segher Boessenkool <segher at gcc dot gnu.org> 2012-08-16 00:57:44 UTC ---
Author: segher
Date: Thu Aug 16 00:57:37 2012
New Revision: 190427

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190427
Log:
2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        PR target/54142
        * config/rs6000/driver-rs6000.c (asm_names): Use %(asm_default)
        instead of -mcom.
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Ditto.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/driver-rs6000.c
    trunk/gcc/config/rs6000/rs6000.h


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/54142] [4.8 regression] ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`)
  2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
                   ` (18 preceding siblings ...)
  2012-08-16  0:59 ` segher at gcc dot gnu.org
@ 2012-08-16  2:18 ` segher at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: segher at gcc dot gnu.org @ 2012-08-16  2:18 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54142

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #20 from Segher Boessenkool <segher at gcc dot gnu.org> 2012-08-16 02:17:30 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2012-08-16  2:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-31 15:35 [Bug target/54142] New: ppc64 build failure - Unrecognized opcode: `sldi' (and `srdi`) gary at intrepid dot com
2012-07-31 16:12 ` [Bug target/54142] " gary at intrepid dot com
2012-07-31 16:35 ` pinskia at gcc dot gnu.org
2012-07-31 16:54 ` gary at intrepid dot com
2012-07-31 16:58 ` gary at intrepid dot com
2012-07-31 17:14 ` gary at intrepid dot com
2012-07-31 17:59 ` PHHargrove at lbl dot gov
2012-08-11  1:24 ` gary at intrepid dot com
2012-08-13 22:04 ` PHHargrove at lbl dot gov
2012-08-13 22:42 ` PHHargrove at lbl dot gov
2012-08-13 22:54 ` PHHargrove at lbl dot gov
2012-08-13 23:01 ` gary at intrepid dot com
2012-08-13 23:14 ` [Bug target/54142] [4.8 regression] " schwab@linux-m68k.org
2012-08-14  0:01 ` PHHargrove at lbl dot gov
2012-08-14  7:49 ` jakub at gcc dot gnu.org
2012-08-14 13:17 ` gary at intrepid dot com
2012-08-14 16:45 ` segher at gcc dot gnu.org
2012-08-14 17:11 ` dje at gcc dot gnu.org
2012-08-14 22:55 ` segher at gcc dot gnu.org
2012-08-16  0:59 ` segher at gcc dot gnu.org
2012-08-16  2:18 ` segher at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).