public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers
@ 2020-03-10 10:44 frederic.recoules@univ-grenoble-alpes.fr
  2020-03-11  1:20 ` [Bug web/94118] " pinskia at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: frederic.recoules@univ-grenoble-alpes.fr @ 2020-03-10 10:44 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 94118
           Summary: Undocumented inline assembly [target] operand
                    modifiers
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: documentation
          Severity: normal
          Priority: P3
         Component: web
          Assignee: unassigned at gcc dot gnu.org
          Reporter: frederic.recoules@univ-grenoble-alpes.fr
  Target Milestone: ---

The section 6.47.2.8 x86 Operand Modifiers of
https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html is only about x86.

As it was done for Operand Constraints
(https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints)
it would be beneficial to create a separated page.

Moreover, the common constraints 'a' (print address) and 'n' are currently not
documented.

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

* [Bug web/94118] Undocumented inline assembly [target] operand modifiers
  2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
@ 2020-03-11  1:20 ` pinskia at gcc dot gnu.org
  2020-05-07  6:17 ` [Bug target/94118] " crazylht at gmail dot com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2020-03-11  1:20 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |37188

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
ARM is recorded as PR 37188.
There might other bug report for other targets too.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37188
[Bug 37188] Missing documentation about the use of ARM NEON quad registers in
inline asm arguments

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

* [Bug target/94118] Undocumented inline assembly [target] operand modifiers
  2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
  2020-03-11  1:20 ` [Bug web/94118] " pinskia at gcc dot gnu.org
@ 2020-05-07  6:17 ` crazylht at gmail dot com
  2020-05-07 13:11 ` hjl.tools at gmail dot com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: crazylht at gmail dot com @ 2020-05-07  6:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Frédéric Recoules from comment #0)
> The section 6.47.2.8 x86 Operand Modifiers of
> https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html is only about x86.
> 
> As it was done for Operand Constraints
> (https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-
> Constraints) it would be beneficial to create a separated page.
> 

Do you mean create a page like *Operand Modifiers for Particular Machines* and
move the section 6.47.2.8 x86 Operand Modifiers to the page?

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

* [Bug target/94118] Undocumented inline assembly [target] operand modifiers
  2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
  2020-03-11  1:20 ` [Bug web/94118] " pinskia at gcc dot gnu.org
  2020-05-07  6:17 ` [Bug target/94118] " crazylht at gmail dot com
@ 2020-05-07 13:11 ` hjl.tools at gmail dot com
  2020-05-07 13:18 ` hjl.tools at gmail dot com
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2020-05-07 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-05-07

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Hongtao.liu from comment #2)
> Do you mean create a page like *Operand Modifiers for Particular Machines*
> and move the section 6.47.2.8 x86 Operand Modifiers to the page?

We need to update

gcc/doc/extend.texi:@subsubsection x86 Operand Modifiers

to document all x86 operand modifiers.

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

* [Bug target/94118] Undocumented inline assembly [target] operand modifiers
  2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
                   ` (2 preceding siblings ...)
  2020-05-07 13:11 ` hjl.tools at gmail dot com
@ 2020-05-07 13:18 ` hjl.tools at gmail dot com
  2020-05-13  2:15 ` cvs-commit at gcc dot gnu.org
  2020-05-13  2:30 ` hjl.tools at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2020-05-07 13:18 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |craig.topper at gmail dot com

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
*** Bug 94977 has been marked as a duplicate of this bug. ***

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

* [Bug target/94118] Undocumented inline assembly [target] operand modifiers
  2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
                   ` (3 preceding siblings ...)
  2020-05-07 13:18 ` hjl.tools at gmail dot com
@ 2020-05-13  2:15 ` cvs-commit at gcc dot gnu.org
  2020-05-13  2:30 ` hjl.tools at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-13  2:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuhongt@gcc.gnu.org>:

https://gcc.gnu.org/g:0fec3f62b9bfc03e5088a09036791c2ac84fe0c8

commit r11-344-g0fec3f62b9bfc03e5088a09036791c2ac84fe0c8
Author: liuhongt <hongtao.liu@intel.com>
Date:   Fri May 8 17:47:33 2020 +0800

    Document more x86 operand modifier.

    Documents operand modifiers which are available in asm stmt but missing in
document.

     | Modifier | Description | Available in asm stmt | Existed in
documentation |
     | --- | --- | ------- | ----- |
     | L,W,B,Q,S,T | print the opcode suffix for specified size of operand. |
Available | Not |
     | C | print opcode suffix for set/cmov insn. | Not | - |
     | c | like C, but print reversed condition | Not | - |
     | F,f | likewise, but for floating-point. | Not | - |
     | O | if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.",
otherwise nothing | Not | - |
     | R | print embedded rounding and sae. | Available | Not |
     | r | print only sae. | Available | Not |
     | z | print the opcode suffix for the size of the current operand. |
Available | Existed |
     | Z | likewise, with special suffixes for x87 instructions. | Availble |
Not |
     | * | print a star (in certain assembler syntax) | Not | - |
     | A | print an absolute memory reference. | Available | Existed |
     | E | print address with DImode register names if TARGET_64BIT. |
Available | Existed |
     | w | print the operand as if it's a "word" (HImode) even if it isn't. |
Available | Existed |
     | s | print a shift double count, followed by the assemblers argument
delimiter. | Available | Not |
     | b | print the QImode name of the register for the indicated operand %b0
would print %al if operands[0] is reg 0. | Available | Existed |
     | w | likewise, print the HImode name of the register. | Available |
Existed |
     | k | likewise, print the SImode name of the register. | Available |
Existed |
     | q | likewise, print the DImode name of the register. | Available |
Existed |
     | x | likewise, print the V4SFmode name of the register. | Available | Not
|
     | t | likewise, print the V8SFmode name of the register. | Available | Not
|
     | g | likewise, print the V16SFmode name of the register. | Avaliable |
Not |
     | h | print the QImode name for a "high" register, either ah, bh, ch or
dh. | Available | Existed |
     | y | print "st(0)" instead of "st" as a register. | Available | Not |
     | d | print duplicated register operand for AVX instruction. | Available |
Not |
     | D | print condition for SSE cmp instruction. | Not | - |
     | P | if PIC, print an @PLT suffix. | Available | Existed |
     | p | print raw symbol name. | Available | Existed |
     | X | don't print any sort of PIC '@' suffix for a symbol. | Not | - |
     | & | print some in-use local-dynamic symbol name. | Not | - |
     | H | print a memory address offset by 8; used for sse high-parts |
Available | Existed |
     | Y | print condition for XOP pcom* instruction. | Not | - |
     | V | print naked full integer register name without %. | Available |
Existed |
     | + | print a branch hint as 'cs' or 'ds' prefix | Not | - |
     | ; | print a semicolon (after prefixes due to bug in older gas). | Not |
- |
     | ~ | print "i" if TARGET_AVX2, "f" otherwise. | Not | - |
     | ^ | print addr32 prefix if TARGET_64BIT and Pmode != word_mode | Not | -
|
     | M | print addr32 prefix for TARGET_X32 with VSIB address. | Not | - |
     | ! | print NOTRACK prefix for jxx/call/ret instructions if required. |
Not | - |
     | N | print maskz if it's constant 0 operand. | Available | Not |
     | I | print comparision predicate operand for sse cmp condition. | Not | -
|

    gcc/ChangeLog

            PR target/94118
             * doc/extend.texi (x86Operandmodifiers): Document more x86
             operand modifier.
             * gcc/config/i386/i386.c: Add comment for operand modifier N
             and I.

    Modified-by: liuhongt <hongtao.liu@intel.com>

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

* [Bug target/94118] Undocumented inline assembly [target] operand modifiers
  2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
                   ` (4 preceding siblings ...)
  2020-05-13  2:15 ` cvs-commit at gcc dot gnu.org
@ 2020-05-13  2:30 ` hjl.tools at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2020-05-13  2:30 UTC (permalink / raw)
  To: gcc-bugs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.0
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
Fixed for GCC 11.

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

end of thread, other threads:[~2020-05-13  2:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-10 10:44 [Bug web/94118] New: Undocumented inline assembly [target] operand modifiers frederic.recoules@univ-grenoble-alpes.fr
2020-03-11  1:20 ` [Bug web/94118] " pinskia at gcc dot gnu.org
2020-05-07  6:17 ` [Bug target/94118] " crazylht at gmail dot com
2020-05-07 13:11 ` hjl.tools at gmail dot com
2020-05-07 13:18 ` hjl.tools at gmail dot com
2020-05-13  2:15 ` cvs-commit at gcc dot gnu.org
2020-05-13  2:30 ` hjl.tools at gmail dot com

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).