public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "linkw at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/113652] Failed bootstrap on ppc unrecognized opcode: `lfiwzx' with -mcpu=7450
Date: Tue, 30 Jan 2024 06:16:29 +0000	[thread overview]
Message-ID: <bug-113652-4-1sjvnlMoDP@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-113652-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113652

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[14 regression] Failed      |Failed bootstrap on ppc
                   |bootstrap on ppc            |unrecognized opcode:
                   |unrecognized opcode:        |`lfiwzx' with -mcpu=7450
                   |`lfiwzx' with -mcpu=7450    |

--- Comment #9 from Kewen Lin <linkw at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #8)
> So t-float128 has this line:
> # Build the emulator without ISA 3.0 hardware support.
> FP128_CFLAGS_SW          = -Wno-type-limits -mvsx -mfloat128 \
> ...
> 
> Which gets added to some of the libgcc object files while compiling:
> $(fp128_softfp_obj)      : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW)
> $(fp128_ppc_obj)         : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW)
> 
> 
> The problem is CFLAGS gets added also. It seems like passing -mvsx enables
> some other instructions in GCC's code generation BUT does not enable it for
> the assembler ...

ah, just noticed that it's bootstrapping gcc. Stripping regression tag since I
don't think it's actually a regression as comments above.

I found that the libgcc_cv_powerpc_float128 checking can pass with -mcpu=7450
-mabi=altivec -mvsx -mfloat128, the assembler options are "-a32 -mppc -mvsx
-maltivec -mbig" is actually the same as what are used for the case #c5
compiling. So it looks that -mvsx is supposed to tell assembler to recognize
vsx instructions but somehow "lfiwzx" is not counted as vsx instruction.

More specifically "xvadddp" is recognized by assembler with -mvsx while
"lfiwzx" isn't.

$ cat t1.s
.machine "7450"
lfiwzx 1,0,9

$ cat t2.s
.machine "7450"
xvadddp 34,34,35

$ as -a32 -mppc -mvsx t1.s -o t1.o
t1.s: Assembler messages:
t1.s:2: Error: unrecognized opcode: `lfiwzx'
$ as -a32 -mppc -mvsx t2.s -o t2.o
$ echo $?
$ 0

  parent reply	other threads:[~2024-01-30  6:16 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-29 13:01 [Bug target/113652] New: ppc: unrecognized opcode: `lfiwzx' csfore at posteo dot net
2024-01-29 13:07 ` [Bug target/113652] [14 regression] Failed bootstrap on ppc unrecognized opcode: `lfiwzx' with -mcpu=7450 rguenth at gcc dot gnu.org
2024-01-29 13:12 ` csfore at posteo dot net
2024-01-29 16:50 ` erhard_f at mailbox dot org
2024-01-29 17:51 ` csfore at posteo dot net
2024-01-29 20:49 ` csfore at posteo dot net
2024-01-30  3:05 ` linkw at gcc dot gnu.org
2024-01-30  3:26 ` linkw at gcc dot gnu.org
2024-01-30  3:44 ` pinskia at gcc dot gnu.org
2024-01-30  6:16 ` linkw at gcc dot gnu.org [this message]
2024-01-30  6:18 ` [Bug target/113652] " sjames at gcc dot gnu.org
2024-01-30  6:37 ` linkw at gcc dot gnu.org
2024-01-30  6:59 ` [Bug target/113652] [14 regression] " linkw at gcc dot gnu.org
2024-01-30  8:58 ` linkw at gcc dot gnu.org
2024-02-07 23:15 ` amodra at gmail dot com
2024-02-09  4:21 ` bergner at gcc dot gnu.org
2024-02-12 12:38 ` csfore at posteo dot net
2024-02-15 10:29 ` erhard_f at mailbox dot org
2024-03-27 13:46 ` rguenth at gcc dot gnu.org
2024-03-28 20:37 ` meissner at gcc dot gnu.org
2024-03-29 12:58 ` segher at gcc dot gnu.org
2024-03-29 13:04 ` segher at gcc dot gnu.org
2024-03-29 21:17 ` bergner at gcc dot gnu.org
2024-04-13  4:39 ` meissner at gcc dot gnu.org
2024-05-07  7:44 ` [Bug target/113652] [14/15 " rguenth at gcc dot gnu.org
2024-05-09  3:18 ` bergner at gcc dot gnu.org
2024-05-09  9:41 ` segher at gcc dot gnu.org
2024-05-09 13:55 ` erhard_f at mailbox dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-113652-4-1sjvnlMoDP@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).