[1/9] Make const_1_mode print $1 in AT&T syntax

Message ID 20231124070213.3886483-1-lili.cui@intel.com
State Unresolved
Headers
Series [1/9] Make const_1_mode print $1 in AT&T syntax |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

Cui, Lili Nov. 24, 2023, 7:02 a.m. UTC
  Make const_1_mode print $1 in AT&T syntax, otherwise
there will be correctness issues when it is extended
to support APX NDD,

gas/ChangeLog:

        * testsuite/gas/i386/intel.d: Adjust testcase.
        * testsuite/gas/i386/lfence-load.d: Ditto.
        * testsuite/gas/i386/noreg16-data32.d: Ditto.
        * testsuite/gas/i386/noreg16.d: Ditto.
        * testsuite/gas/i386/noreg32-data16.d: Ditto.
        * testsuite/gas/i386/noreg32.d: Ditto.
        * testsuite/gas/i386/noreg64-data16.d: Ditto.
        * testsuite/gas/i386/noreg64-rex64.d: Ditto.
        * testsuite/gas/i386/noreg64.d: Ditto.
        * testsuite/gas/i386/opcode-suffix.d: Ditto.
        * testsuite/gas/i386/opcode.d: Ditto.
        * testsuite/gas/i386/x86-64-lfence-load.d: Ditto.
        * testsuite/gas/i386/x86-64-opcode.d: Ditto.

opcodes/ChangeLog:

        * i386-dis.c (OP_I): Make const_1_mode print $1 in AT&T syntax.
---
 gas/testsuite/gas/i386/intel.d              |  6 ++--
 gas/testsuite/gas/i386/lfence-load.d        |  2 +-
 gas/testsuite/gas/i386/noreg16-data32.d     | 32 ++++++++++-----------
 gas/testsuite/gas/i386/noreg16.d            | 32 ++++++++++-----------
 gas/testsuite/gas/i386/noreg32-data16.d     | 32 ++++++++++-----------
 gas/testsuite/gas/i386/noreg32.d            | 32 ++++++++++-----------
 gas/testsuite/gas/i386/noreg64-data16.d     | 32 ++++++++++-----------
 gas/testsuite/gas/i386/noreg64-rex64.d      | 32 ++++++++++-----------
 gas/testsuite/gas/i386/noreg64.d            | 32 ++++++++++-----------
 gas/testsuite/gas/i386/opcode-suffix.d      |  6 ++--
 gas/testsuite/gas/i386/opcode.d             | 10 +++----
 gas/testsuite/gas/i386/x86-64-lfence-load.d |  2 +-
 gas/testsuite/gas/i386/x86-64-opcode.d      |  6 ++--
 opcodes/i386-dis.c                          |  2 ++
 14 files changed, 130 insertions(+), 128 deletions(-)
  

Comments

Jan Beulich Nov. 24, 2023, 7:09 a.m. UTC | #1
On 24.11.2023 08:02, Cui, Lili wrote:
> Make const_1_mode print $1 in AT&T syntax, otherwise
> there will be correctness issues when it is extended
> to support APX NDD,

Looks fine to me, but I could easily imagine this to face H.J.'s opposition
(and hence my suggestion in this direction wasn't exactly this way). Since
iirc he's going to be back soon, may be best to wait until then. One request
though:

> --- a/opcodes/i386-dis.c
> +++ b/opcodes/i386-dis.c
> @@ -12090,6 +12090,8 @@ OP_I (instr_info *ins, int bytemode, int sizeflag)
>      case const_1_mode:
>        if (ins->intel_syntax)
>  	oappend (ins, "1");
> +      else
> +	oappend (ins, "$1");
>        return true;

This was already overlooked when output styling was introduced. Please
switch to oappend_immediate(ins, 1) here (i.e. replcaing the entire if/else).
As per above - from my pov okay with this change.

Jan
  
Cui, Lili Nov. 24, 2023, 11:22 a.m. UTC | #2
> On 24.11.2023 08:02, Cui, Lili wrote:
> > Make const_1_mode print $1 in AT&T syntax, otherwise there will be
> > correctness issues when it is extended to support APX NDD,
> 
> Looks fine to me, but I could easily imagine this to face H.J.'s opposition (and
> hence my suggestion in this direction wasn't exactly this way). Since iirc he's
> going to be back soon, may be best to wait until then. One request
> though:
> 

> > --- a/opcodes/i386-dis.c
> > +++ b/opcodes/i386-dis.c
> > @@ -12090,6 +12090,8 @@ OP_I (instr_info *ins, int bytemode, int
> sizeflag)
> >      case const_1_mode:
> >        if (ins->intel_syntax)
> >  	oappend (ins, "1");
> > +      else
> > +	oappend (ins, "$1");
> >        return true;
> 
> This was already overlooked when output styling was introduced. Please
> switch to oappend_immediate(ins, 1) here (i.e. replcaing the entire if/else).
> As per above - from my pov okay with this change.
> 

If we use oappend_immediate(ins, 1), it will print $0x1 instead of $1, and then Imm1 and Imm8 will be confused.

regexp "^ +[a-f0-9]+:   d1 f0                   shl    \$1,%eax$"
line   " a57:   d1 f0                   shl    $0x1,%eax"

Lili.
  
Jan Beulich Nov. 24, 2023, 12:14 p.m. UTC | #3
On 24.11.2023 12:22, Cui, Lili wrote:
>> On 24.11.2023 08:02, Cui, Lili wrote:
>>> Make const_1_mode print $1 in AT&T syntax, otherwise there will be
>>> correctness issues when it is extended to support APX NDD,
>>
>> Looks fine to me, but I could easily imagine this to face H.J.'s opposition (and
>> hence my suggestion in this direction wasn't exactly this way). Since iirc he's
>> going to be back soon, may be best to wait until then. One request
>> though:
>>
> 
>>> --- a/opcodes/i386-dis.c
>>> +++ b/opcodes/i386-dis.c
>>> @@ -12090,6 +12090,8 @@ OP_I (instr_info *ins, int bytemode, int
>> sizeflag)
>>>      case const_1_mode:
>>>        if (ins->intel_syntax)
>>>  	oappend (ins, "1");
>>> +      else
>>> +	oappend (ins, "$1");
>>>        return true;
>>
>> This was already overlooked when output styling was introduced. Please
>> switch to oappend_immediate(ins, 1) here (i.e. replcaing the entire if/else).
>> As per above - from my pov okay with this change.
>>
> 
> If we use oappend_immediate(ins, 1), it will print $0x1 instead of $1, and then Imm1 and Imm8 will be confused.
> 
> regexp "^ +[a-f0-9]+:   d1 f0                   shl    \$1,%eax$"
> line   " a57:   d1 f0                   shl    $0x1,%eax"

Hmm, yes. Albeit I'd like to drop pointless 0x output anyway from
oappend_immediate(). But for now I reduce my request to you then to
just get output correct styling-wise.

Jan
  
Lu, Hongjiu Dec. 12, 2023, 2:57 a.m. UTC | #4
> -----Original Message-----
> From: Cui, Lili <lili.cui@intel.com>
> Sent: Thursday, November 23, 2023 11:02 PM
> To: binutils@sourceware.org
> Cc: Beulich, Jan <JBeulich@suse.com>; Lu, Hongjiu <hongjiu.lu@intel.com>
> Subject: [PATCH 1/9] Make const_1_mode print $1 in AT&T syntax
> 
> Make const_1_mode print $1 in AT&T syntax, otherwise
> there will be correctness issues when it is extended
> to support APX NDD,
> 
> gas/ChangeLog:
> 
>         * testsuite/gas/i386/intel.d: Adjust testcase.
>         * testsuite/gas/i386/lfence-load.d: Ditto.
>         * testsuite/gas/i386/noreg16-data32.d: Ditto.
>         * testsuite/gas/i386/noreg16.d: Ditto.
>         * testsuite/gas/i386/noreg32-data16.d: Ditto.
>         * testsuite/gas/i386/noreg32.d: Ditto.
>         * testsuite/gas/i386/noreg64-data16.d: Ditto.
>         * testsuite/gas/i386/noreg64-rex64.d: Ditto.
>         * testsuite/gas/i386/noreg64.d: Ditto.
>         * testsuite/gas/i386/opcode-suffix.d: Ditto.
>         * testsuite/gas/i386/opcode.d: Ditto.
>         * testsuite/gas/i386/x86-64-lfence-load.d: Ditto.
>         * testsuite/gas/i386/x86-64-opcode.d: Ditto.
> 
> opcodes/ChangeLog:
> 
>         * i386-dis.c (OP_I): Make const_1_mode print $1 in AT&T syntax.
> ---
>  gas/testsuite/gas/i386/intel.d              |  6 ++--
>  gas/testsuite/gas/i386/lfence-load.d        |  2 +-
>  gas/testsuite/gas/i386/noreg16-data32.d     | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg16.d            | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg32-data16.d     | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg32.d            | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg64-data16.d     | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg64-rex64.d      | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg64.d            | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/opcode-suffix.d      |  6 ++--
>  gas/testsuite/gas/i386/opcode.d             | 10 +++----
>  gas/testsuite/gas/i386/x86-64-lfence-load.d |  2 +-
>  gas/testsuite/gas/i386/x86-64-opcode.d      |  6 ++--
>  opcodes/i386-dis.c                          |  2 ++
>  14 files changed, 130 insertions(+), 128 deletions(-)
> 
> diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
> index bc212893853..c3e45c2e38c 100644
> --- a/gas/testsuite/gas/i386/intel.d
> +++ b/gas/testsuite/gas/i386/intel.d
> @@ -208,8 +208,8 @@ Disassembly of section .text:
>  [ 	]*[a-f0-9]+:	cd 90 [ 	]*int    \$0x90
>  [ 	]*[a-f0-9]+:	ce [ 	]*into
>  [ 	]*[a-f0-9]+:	cf [ 	]*iret
> -[ 	]*[a-f0-9]+:	d0 90 90 90 90 90 [ 	]*rclb   -0x6f6f6f70\(%eax\)
> -[ 	]*[a-f0-9]+:	d1 90 90 90 90 90 [ 	]*rcll   -0x6f6f6f70\(%eax\)
> +[ 	]*[a-f0-9]+:	d0 90 90 90 90 90 [ 	]*rclb   \$1,-0x6f6f6f70\(%eax\)
> +[ 	]*[a-f0-9]+:	d1 90 90 90 90 90 [ 	]*rcll   \$1,-0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	d2 90 90 90 90 90 [ 	]*rclb   %cl,-0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	d3 90 90 90 90 90 [ 	]*rcll   %cl,-0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	d4 90 [ 	]*aam    \$0x90
> @@ -527,7 +527,7 @@ Disassembly of section .text:
>  [ 	]*[a-f0-9]+:	66 ca 90 90 [ 	]*lretw  \$0x9090
>  [ 	]*[a-f0-9]+:	66 cb [ 	]*lretw
>  [ 	]*[a-f0-9]+:	66 cf [ 	]*iretw
> -[ 	]*[a-f0-9]+:	66 d1 90 90 90 90 90 [ 	]*rclw   -0x6f6f6f70\(%eax\)
> +[ 	]*[a-f0-9]+:	66 d1 90 90 90 90 90 [ 	]*rclw   \$1,-0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	66 d3 90 90 90 90 90 [ 	]*rclw   %cl,-0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	66 e5 90 [ 	]*in     \$0x90,%ax
>  [ 	]*[a-f0-9]+:	66 e7 90 [ 	]*out    %ax,\$0x90
> diff --git a/gas/testsuite/gas/i386/lfence-load.d b/gas/testsuite/gas/i386/lfence-
> load.d
> index 33ebef5432f..eb94bdcbb68 100644
> --- a/gas/testsuite/gas/i386/lfence-load.d
> +++ b/gas/testsuite/gas/i386/lfence-load.d
> @@ -83,7 +83,7 @@ Disassembly of section .text:
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	58                   	pop    %eax
>   +[a-f0-9]+:	0f ae e8             	lfence
> - +[a-f0-9]+:	66 d1 11             	rclw   \(%ecx\)
> + +[a-f0-9]+:	66 d1 11             	rclw   \$1,\(%ecx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	f7 01 01 00 00 00    	testl  \$0x1,\(%ecx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
> diff --git a/gas/testsuite/gas/i386/noreg16-data32.d
> b/gas/testsuite/gas/i386/noreg16-data32.d
> index 7561b549ebb..237e25dd0e1 100644
> --- a/gas/testsuite/gas/i386/noreg16-data32.d
> +++ b/gas/testsuite/gas/i386/noreg16-data32.d
> @@ -96,43 +96,43 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 27          	ptwrite \(%bx\)
>   *[a-f0-9]+:	66 ff 37             	pushl  \(%bx\)
>   *[a-f0-9]+:	66 06                	pushl  %es
> - *[a-f0-9]+:	66 d1 17             	rcll   \(%bx\)
> + *[a-f0-9]+:	66 d1 17             	rcll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 17 02          	rcll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 17             	rcll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 17             	rcll   \(%bx\)
> - *[a-f0-9]+:	66 d1 1f             	rcrl   \(%bx\)
> + *[a-f0-9]+:	66 d1 17             	rcll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 1f             	rcrl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 1f 02          	rcrl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 1f             	rcrl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 1f             	rcrl   \(%bx\)
> - *[a-f0-9]+:	66 d1 07             	roll   \(%bx\)
> + *[a-f0-9]+:	66 d1 1f             	rcrl   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 07             	roll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 07 02          	roll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 07             	roll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 07             	roll   \(%bx\)
> - *[a-f0-9]+:	66 d1 0f             	rorl   \(%bx\)
> + *[a-f0-9]+:	66 d1 07             	roll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 0f             	rorl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 0f 02          	rorl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 0f             	rorl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 0f             	rorl   \(%bx\)
> + *[a-f0-9]+:	66 d1 0f             	rorl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 83 1f 01          	sbbl   \$0x1,\(%bx\)
>   *[a-f0-9]+:	66 81 1f 89 00 00 00 	sbbl   \$0x89,\(%bx\)
>   *[a-f0-9]+:	66 81 1f 34 12 00 00 	sbbl   \$0x1234,\(%bx\)
>   *[a-f0-9]+:	66 af                	scas   %es:\(%di\),%eax
>   *[a-f0-9]+:	66 af                	scas   %es:\(%di\),%eax
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 27 02          	shll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 27             	shll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> - *[a-f0-9]+:	66 d1 3f             	sarl   \(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 3f             	sarl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 3f 02          	sarl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 3f             	sarl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 3f             	sarl   \(%bx\)
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> + *[a-f0-9]+:	66 d1 3f             	sarl   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 27 02          	shll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 27             	shll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> - *[a-f0-9]+:	66 d1 2f             	shrl   \(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 2f             	shrl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 2f 02          	shrl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 2f             	shrl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 2f             	shrl   \(%bx\)
> + *[a-f0-9]+:	66 d1 2f             	shrl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 ab                	stos   %eax,%es:\(%di\)
>   *[a-f0-9]+:	66 ab                	stos   %eax,%es:\(%di\)
>   *[a-f0-9]+:	66 83 2f 01          	subl   \$0x1,\(%bx\)
> diff --git a/gas/testsuite/gas/i386/noreg16.d b/gas/testsuite/gas/i386/noreg16.d
> index 86f852fb4ca..e4149b03a6e 100644
> --- a/gas/testsuite/gas/i386/noreg16.d
> +++ b/gas/testsuite/gas/i386/noreg16.d
> @@ -95,43 +95,43 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 27          	ptwrite \(%bx\)
>   *[a-f0-9]+:	ff 37                	push   \(%bx\)
>   *[a-f0-9]+:	06                   	push   %es
> - *[a-f0-9]+:	d1 17                	rclw   \(%bx\)
> + *[a-f0-9]+:	d1 17                	rclw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 17 02             	rclw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 17                	rclw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 17                	rclw   \(%bx\)
> - *[a-f0-9]+:	d1 1f                	rcrw   \(%bx\)
> + *[a-f0-9]+:	d1 17                	rclw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 1f                	rcrw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 1f 02             	rcrw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 1f                	rcrw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 1f                	rcrw   \(%bx\)
> - *[a-f0-9]+:	d1 07                	rolw   \(%bx\)
> + *[a-f0-9]+:	d1 1f                	rcrw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 07                	rolw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 07 02             	rolw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 07                	rolw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 07                	rolw   \(%bx\)
> - *[a-f0-9]+:	d1 0f                	rorw   \(%bx\)
> + *[a-f0-9]+:	d1 07                	rolw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 0f                	rorw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 0f 02             	rorw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 0f                	rorw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 0f                	rorw   \(%bx\)
> + *[a-f0-9]+:	d1 0f                	rorw   \$1,\(%bx\)
>   *[a-f0-9]+:	83 1f 01             	sbbw   \$0x1,\(%bx\)
>   *[a-f0-9]+:	81 1f 89 00          	sbbw   \$0x89,\(%bx\)
>   *[a-f0-9]+:	81 1f 34 12          	sbbw   \$0x1234,\(%bx\)
>   *[a-f0-9]+:	af                   	scas   %es:\(%di\),%ax
>   *[a-f0-9]+:	af                   	scas   %es:\(%di\),%ax
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 27 02             	shlw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 27                	shlw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> - *[a-f0-9]+:	d1 3f                	sarw   \(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 3f                	sarw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 3f 02             	sarw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 3f                	sarw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 3f                	sarw   \(%bx\)
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> + *[a-f0-9]+:	d1 3f                	sarw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 27 02             	shlw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 27                	shlw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> - *[a-f0-9]+:	d1 2f                	shrw   \(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 2f                	shrw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 2f 02             	shrw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 2f                	shrw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 2f                	shrw   \(%bx\)
> + *[a-f0-9]+:	d1 2f                	shrw   \$1,\(%bx\)
>   *[a-f0-9]+:	ab                   	stos   %ax,%es:\(%di\)
>   *[a-f0-9]+:	ab                   	stos   %ax,%es:\(%di\)
>   *[a-f0-9]+:	83 2f 01             	subw   \$0x1,\(%bx\)
> diff --git a/gas/testsuite/gas/i386/noreg32-data16.d
> b/gas/testsuite/gas/i386/noreg32-data16.d
> index 1ec6b9e8670..e3ae2116bb1 100644
> --- a/gas/testsuite/gas/i386/noreg32-data16.d
> +++ b/gas/testsuite/gas/i386/noreg32-data16.d
> @@ -103,44 +103,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 20          	ptwrite \(%eax\)
>   *[a-f0-9]+:	66 ff 30             	pushw  \(%eax\)
>   *[a-f0-9]+:	66 06                	pushw  %es
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%eax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 10 02          	rclw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 10             	rclw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%eax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%eax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 18 02          	rcrw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 18             	rcrw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%eax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%eax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 00 02          	rolw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 00             	rolw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%eax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%eax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 08 02          	rorw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 08             	rorw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%eax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 83 18 01          	sbbw   \$0x1,\(%eax\)
>   *[a-f0-9]+:	66 81 18 89 00       	sbbw   \$0x89,\(%eax\)
>   *[a-f0-9]+:	66 81 18 34 12       	sbbw   \$0x1234,\(%eax\)
>   *[a-f0-9]+:	66 81 18 78 56       	sbbw   \$0x5678,\(%eax\)
>   *[a-f0-9]+:	66 af                	scas   %es:\(%edi\),%ax
>   *[a-f0-9]+:	66 af                	scas   %es:\(%edi\),%ax
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 38 02          	sarw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 38             	sarw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%eax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 28 02          	shrw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 28             	shrw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%eax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%edi\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%edi\)
>   *[a-f0-9]+:	66 83 28 01          	subw   \$0x1,\(%eax\)
> diff --git a/gas/testsuite/gas/i386/noreg32.d b/gas/testsuite/gas/i386/noreg32.d
> index 9dbef908ce7..8bb08ca73c6 100644
> --- a/gas/testsuite/gas/i386/noreg32.d
> +++ b/gas/testsuite/gas/i386/noreg32.d
> @@ -101,44 +101,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 20          	ptwrite \(%eax\)
>   *[a-f0-9]+:	ff 30                	push   \(%eax\)
>   *[a-f0-9]+:	06                   	push   %es
> - *[a-f0-9]+:	d1 10                	rcll   \(%eax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 10 02             	rcll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 10                	rcll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 10                	rcll   \(%eax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%eax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 18 02             	rcrl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 18                	rcrl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%eax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%eax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 00 02             	roll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 00                	roll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%eax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%eax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 08 02             	rorl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 08                	rorl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%eax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%eax\)
>   *[a-f0-9]+:	83 18 01             	sbbl   \$0x1,\(%eax\)
>   *[a-f0-9]+:	81 18 89 00 00 00    	sbbl   \$0x89,\(%eax\)
>   *[a-f0-9]+:	81 18 34 12 00 00    	sbbl   \$0x1234,\(%eax\)
>   *[a-f0-9]+:	81 18 78 56 34 12    	sbbl   \$0x12345678,\(%eax\)
>   *[a-f0-9]+:	af                   	scas   %es:\(%edi\),%eax
>   *[a-f0-9]+:	af                   	scas   %es:\(%edi\),%eax
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 38 02             	sarl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 38                	sarl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%eax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 28 02             	shrl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 28                	shrl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%eax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%eax\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%edi\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%edi\)
>   *[a-f0-9]+:	83 28 01             	subl   \$0x1,\(%eax\)
> diff --git a/gas/testsuite/gas/i386/noreg64-data16.d
> b/gas/testsuite/gas/i386/noreg64-data16.d
> index f1e67096a58..802eb4053d3 100644
> --- a/gas/testsuite/gas/i386/noreg64-data16.d
> +++ b/gas/testsuite/gas/i386/noreg64-data16.d
> @@ -106,44 +106,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	66 0f a1             	popw   %fs
>   *[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
>   *[a-f0-9]+:	66 0f a0             	pushw  %fs
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%rax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 10 02          	rclw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 10             	rclw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%rax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%rax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 18 02          	rcrw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 18             	rcrw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%rax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%rax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 00 02          	rolw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 00             	rolw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%rax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%rax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 08 02          	rorw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 08             	rorw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%rax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 83 18 01          	sbbw   \$0x1,\(%rax\)
>   *[a-f0-9]+:	66 81 18 89 00       	sbbw   \$0x89,\(%rax\)
>   *[a-f0-9]+:	66 81 18 34 12       	sbbw   \$0x1234,\(%rax\)
>   *[a-f0-9]+:	66 81 18 78 56       	sbbw   \$0x5678,\(%rax\)
>   *[a-f0-9]+:	66 af                	scas   %es:\(%rdi\),%ax
>   *[a-f0-9]+:	66 af                	scas   %es:\(%rdi\),%ax
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 38 02          	sarw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 38             	sarw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%rax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 28 02          	shrw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 28             	shrw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%rax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%rdi\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%rdi\)
>   *[a-f0-9]+:	66 83 28 01          	subw   \$0x1,\(%rax\)
> diff --git a/gas/testsuite/gas/i386/noreg64-rex64.d
> b/gas/testsuite/gas/i386/noreg64-rex64.d
> index cd8679e626a..e33851d8093 100644
> --- a/gas/testsuite/gas/i386/noreg64-rex64.d
> +++ b/gas/testsuite/gas/i386/noreg64-rex64.d
> @@ -105,44 +105,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 48 0f ae 20       	ptwriteq \(%rax\)
>   *[a-f0-9]+:	48 ff 30             	rex\.W push \(%rax\)
>   *[a-f0-9]+:	48 0f a0             	rex\.W push %fs
> - *[a-f0-9]+:	48 d1 10             	rclq   \(%rax\)
> + *[a-f0-9]+:	48 d1 10             	rclq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 10 02          	rclq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 10             	rclq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 10             	rclq   \(%rax\)
> - *[a-f0-9]+:	48 d1 18             	rcrq   \(%rax\)
> + *[a-f0-9]+:	48 d1 10             	rclq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 18             	rcrq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 18 02          	rcrq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 18             	rcrq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 18             	rcrq   \(%rax\)
> - *[a-f0-9]+:	48 d1 00             	rolq   \(%rax\)
> + *[a-f0-9]+:	48 d1 18             	rcrq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 00             	rolq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 00 02          	rolq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 00             	rolq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 00             	rolq   \(%rax\)
> - *[a-f0-9]+:	48 d1 08             	rorq   \(%rax\)
> + *[a-f0-9]+:	48 d1 00             	rolq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 08             	rorq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 08 02          	rorq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 08             	rorq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 08             	rorq   \(%rax\)
> + *[a-f0-9]+:	48 d1 08             	rorq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 83 18 01          	sbbq   \$0x1,\(%rax\)
>   *[a-f0-9]+:	48 81 18 89 00 00 00 	sbbq   \$0x89,\(%rax\)
>   *[a-f0-9]+:	48 81 18 34 12 00 00 	sbbq   \$0x1234,\(%rax\)
>   *[a-f0-9]+:	48 81 18 78 56 34 12 	sbbq   \$0x12345678,\(%rax\)
>   *[a-f0-9]+:	48 af                	scas   %es:\(%rdi\),%rax
>   *[a-f0-9]+:	48 af                	scas   %es:\(%rdi\),%rax
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 20 02          	shlq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 20             	shlq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> - *[a-f0-9]+:	48 d1 38             	sarq   \(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 38             	sarq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 38 02          	sarq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 38             	sarq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 38             	sarq   \(%rax\)
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> + *[a-f0-9]+:	48 d1 38             	sarq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 20 02          	shlq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 20             	shlq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> - *[a-f0-9]+:	48 d1 28             	shrq   \(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 28             	shrq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 28 02          	shrq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 28             	shrq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 28             	shrq   \(%rax\)
> + *[a-f0-9]+:	48 d1 28             	shrq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 ab                	stos   %rax,%es:\(%rdi\)
>   *[a-f0-9]+:	48 ab                	stos   %rax,%es:\(%rdi\)
>   *[a-f0-9]+:	48 83 28 01          	subq   \$0x1,\(%rax\)
> diff --git a/gas/testsuite/gas/i386/noreg64.d b/gas/testsuite/gas/i386/noreg64.d
> index 354d89069ae..2afdef38f92 100644
> --- a/gas/testsuite/gas/i386/noreg64.d
> +++ b/gas/testsuite/gas/i386/noreg64.d
> @@ -107,44 +107,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 20          	ptwritel \(%rax\)
>   *[a-f0-9]+:	ff 30                	push   \(%rax\)
>   *[a-f0-9]+:	0f a0                	push   %fs
> - *[a-f0-9]+:	d1 10                	rcll   \(%rax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 10 02             	rcll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 10                	rcll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 10                	rcll   \(%rax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%rax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 18 02             	rcrl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 18                	rcrl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%rax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%rax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 00 02             	roll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 00                	roll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%rax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%rax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 08 02             	rorl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 08                	rorl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%rax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%rax\)
>   *[a-f0-9]+:	83 18 01             	sbbl   \$0x1,\(%rax\)
>   *[a-f0-9]+:	81 18 89 00 00 00    	sbbl   \$0x89,\(%rax\)
>   *[a-f0-9]+:	81 18 34 12 00 00    	sbbl   \$0x1234,\(%rax\)
>   *[a-f0-9]+:	81 18 78 56 34 12    	sbbl   \$0x12345678,\(%rax\)
>   *[a-f0-9]+:	af                   	scas   %es:\(%rdi\),%eax
>   *[a-f0-9]+:	af                   	scas   %es:\(%rdi\),%eax
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 38 02             	sarl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 38                	sarl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%rax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 28 02             	shrl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 28                	shrl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%rax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%rax\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%rdi\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%rdi\)
>   *[a-f0-9]+:	83 28 01             	subl   \$0x1,\(%rax\)
> diff --git a/gas/testsuite/gas/i386/opcode-suffix.d b/gas/testsuite/gas/i386/opcode-
> suffix.d
> index 946a0a4d7a0..ca6af50c9cf 100644
> --- a/gas/testsuite/gas/i386/opcode-suffix.d
> +++ b/gas/testsuite/gas/i386/opcode-suffix.d
> @@ -206,8 +206,8 @@ Disassembly of section .text:
>   *[0-9a-f]+:	cd 90[ 	]+int[ 	]+\$0x90
>   *[0-9a-f]+:	ce[ 	]+into
>   *[0-9a-f]+:	cf[ 	]+iretl
> - *[0-9a-f]+:	d0 90 90 90 90 90[ 	]+rclb[ 	]+-0x6f6f6f70\(%eax\)
> - *[0-9a-f]+:	d1 90 90 90 90 90[ 	]+rcll[ 	]+-0x6f6f6f70\(%eax\)
> + *[0-9a-f]+:	d0 90 90 90 90 90[ 	]+rclb[ 	]+\$1,-0x6f6f6f70\(%eax\)
> + *[0-9a-f]+:	d1 90 90 90 90 90[ 	]+rcll[ 	]+\$1,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	d2 90 90 90 90 90[ 	]+rclb[ 	]+%cl,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	d3 90 90 90 90 90[ 	]+rcll[ 	]+%cl,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	d4 90[ 	]+aam[ 	]+\$0x90
> @@ -523,7 +523,7 @@ Disassembly of section .text:
>   *[0-9a-f]+:	66 ca 90 90[ 	]+lretw[ 	]+\$0x9090
>   *[0-9a-f]+:	66 cb[ 	]+lretw
>   *[0-9a-f]+:	66 cf[ 	]+iretw
> - *[0-9a-f]+:	66 d1 90 90 90 90 90[ 	]+rclw[ 	]+-0x6f6f6f70\(%eax\)
> + *[0-9a-f]+:	66 d1 90 90 90 90 90[ 	]+rclw[ 	]+\$1,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	66 d3 90 90 90 90 90[ 	]+rclw[ 	]+%cl,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	66 e5 90[ 	]+inw[ 	]+\$0x90,%ax
>   *[0-9a-f]+:	66 e7 90[ 	]+outw[ 	]+%ax,\$0x90
> diff --git a/gas/testsuite/gas/i386/opcode.d b/gas/testsuite/gas/i386/opcode.d
> index 7631195d8d4..f7af22518e2 100644
> --- a/gas/testsuite/gas/i386/opcode.d
> +++ b/gas/testsuite/gas/i386/opcode.d
> @@ -205,8 +205,8 @@ Disassembly of section .text:
>   279:	cd 90 [ 	]*int    \$0x90
>   27b:	ce [ 	]*into
>   27c:	cf [ 	]*iret
> - 27d:	d0 90 90 90 90 90 [ 	]*rclb   -0x6f6f6f70\(%eax\)
> - 283:	d1 90 90 90 90 90 [ 	]*rcll   -0x6f6f6f70\(%eax\)
> + 27d:	d0 90 90 90 90 90 [ 	]*rclb   \$1,-0x6f6f6f70\(%eax\)
> + 283:	d1 90 90 90 90 90 [ 	]*rcll   \$1,-0x6f6f6f70\(%eax\)
>   289:	d2 90 90 90 90 90 [ 	]*rclb   %cl,-0x6f6f6f70\(%eax\)
>   28f:	d3 90 90 90 90 90 [ 	]*rcll   %cl,-0x6f6f6f70\(%eax\)
>   295:	d4 90 [ 	]*aam    \$0x90
> @@ -522,7 +522,7 @@ Disassembly of section .text:
>   869:	66 ca 90 90 [ 	]*lretw  \$0x9090
>   86d:	66 cb [ 	]*lretw
>   86f:	66 cf [ 	]*iretw
> - 871:	66 d1 90 90 90 90 90 [ 	]*rclw   -0x6f6f6f70\(%eax\)
> + 871:	66 d1 90 90 90 90 90 [ 	]*rclw   \$1,-0x6f6f6f70\(%eax\)
>   878:	66 d3 90 90 90 90 90 [ 	]*rclw   %cl,-0x6f6f6f70\(%eax\)
>   87f:	66 e5 90 [ 	]*in     \$0x90,%ax
>   882:	66 e7 90 [ 	]*out    %ax,\$0x90
> @@ -610,8 +610,8 @@ Disassembly of section .text:
>   +[a-f0-9]+:	f7 c9 04 00 00 00    	test   \$(0x)?0*4,%ecx
>   +[a-f0-9]+:	c0 f0 02             	shl    \$0x2,%al
>   +[a-f0-9]+:	c1 f0 01             	shl    \$0x1,%eax
> - +[a-f0-9]+:	d0 f0                	shl    %al
> - +[a-f0-9]+:	d1 f0                	shl    %eax
> + +[a-f0-9]+:	d0 f0                	shl    \$1,%al
> + +[a-f0-9]+:	d1 f0                	shl    \$1,%eax
>   +[a-f0-9]+:	d2 f0                	shl    %cl,%al
>   +[a-f0-9]+:	d3 f0                	shl    %cl,%eax
>  #pass
> diff --git a/gas/testsuite/gas/i386/x86-64-lfence-load.d
> b/gas/testsuite/gas/i386/x86-64-lfence-load.d
> index b4a03db811d..726236826e8 100644
> --- a/gas/testsuite/gas/i386/x86-64-lfence-load.d
> +++ b/gas/testsuite/gas/i386/x86-64-lfence-load.d
> @@ -90,7 +90,7 @@ Disassembly of section .text:
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	58                   	pop    %rax
>   +[a-f0-9]+:	0f ae e8             	lfence
> - +[a-f0-9]+:	66 d1 11             	rclw   \(%rcx\)
> + +[a-f0-9]+:	66 d1 11             	rclw   \$1,\(%rcx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	f7 01 01 00 00 00    	testl  \$0x1,\(%rcx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
> diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-
> 64-opcode.d
> index ee6d0f5f4bd..1b8a9fa9014 100644
> --- a/gas/testsuite/gas/i386/x86-64-opcode.d
> +++ b/gas/testsuite/gas/i386/x86-64-opcode.d
> @@ -335,9 +335,9 @@ Disassembly of section .text:
>  [ 	]*[a-f0-9]+:	c0 f0 02             	shl    \$0x2,%al
>  [ 	]*[a-f0-9]+:	c1 f0 01             	shl    \$0x1,%eax
>  [ 	]*[a-f0-9]+:	48 c1 f0 01          	shl    \$0x1,%rax
> -[ 	]*[a-f0-9]+:	d0 f0                	shl    %al
> -[ 	]*[a-f0-9]+:	d1 f0                	shl    %eax
> -[ 	]*[a-f0-9]+:	48 d1 f0             	shl    %rax
> +[ 	]*[a-f0-9]+:	d0 f0                	shl    \$1,%al
> +[ 	]*[a-f0-9]+:	d1 f0                	shl    \$1,%eax
> +[ 	]*[a-f0-9]+:	48 d1 f0             	shl    \$1,%rax
>  [ 	]*[a-f0-9]+:	d2 f0                	shl    %cl,%al
>  [ 	]*[a-f0-9]+:	d3 f0                	shl    %cl,%eax
>  [ 	]*[a-f0-9]+:	48 d3 f0             	shl    %cl,%rax
> diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
> index 2e2043d467b..e432b61a6cd 100644
> --- a/opcodes/i386-dis.c
> +++ b/opcodes/i386-dis.c
> @@ -12090,6 +12090,8 @@ OP_I (instr_info *ins, int bytemode, int sizeflag)
>      case const_1_mode:
>        if (ins->intel_syntax)
>  	oappend (ins, "1");
> +      else
> +	oappend (ins, "$1");
>        return true;
>      default:
>        oappend (ins, INTERNAL_DISASSEMBLER_ERROR);
> --
> 2.25.1

OK.

Thanks.

H.J.
  
Cui, Lili Dec. 12, 2023, 8:16 a.m. UTC | #5
Hi H.J,

Could you help review this patch ? thanks.

Lili.

> -----Original Message-----
> From: Cui, Lili <lili.cui@intel.com>
> Sent: Friday, November 24, 2023 3:02 PM
> To: binutils@sourceware.org
> Cc: Beulich, Jan <JBeulich@suse.com>; Lu, Hongjiu <hongjiu.lu@intel.com>
> Subject: [PATCH 1/9] Make const_1_mode print $1 in AT&T syntax
> 
> Make const_1_mode print $1 in AT&T syntax, otherwise there will be
> correctness issues when it is extended to support APX NDD,
> 
> gas/ChangeLog:
> 
>         * testsuite/gas/i386/intel.d: Adjust testcase.
>         * testsuite/gas/i386/lfence-load.d: Ditto.
>         * testsuite/gas/i386/noreg16-data32.d: Ditto.
>         * testsuite/gas/i386/noreg16.d: Ditto.
>         * testsuite/gas/i386/noreg32-data16.d: Ditto.
>         * testsuite/gas/i386/noreg32.d: Ditto.
>         * testsuite/gas/i386/noreg64-data16.d: Ditto.
>         * testsuite/gas/i386/noreg64-rex64.d: Ditto.
>         * testsuite/gas/i386/noreg64.d: Ditto.
>         * testsuite/gas/i386/opcode-suffix.d: Ditto.
>         * testsuite/gas/i386/opcode.d: Ditto.
>         * testsuite/gas/i386/x86-64-lfence-load.d: Ditto.
>         * testsuite/gas/i386/x86-64-opcode.d: Ditto.
> 
> opcodes/ChangeLog:
> 
>         * i386-dis.c (OP_I): Make const_1_mode print $1 in AT&T syntax.
> ---
>  gas/testsuite/gas/i386/intel.d              |  6 ++--
>  gas/testsuite/gas/i386/lfence-load.d        |  2 +-
>  gas/testsuite/gas/i386/noreg16-data32.d     | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg16.d            | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg32-data16.d     | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg32.d            | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg64-data16.d     | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg64-rex64.d      | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/noreg64.d            | 32 ++++++++++-----------
>  gas/testsuite/gas/i386/opcode-suffix.d      |  6 ++--
>  gas/testsuite/gas/i386/opcode.d             | 10 +++----
>  gas/testsuite/gas/i386/x86-64-lfence-load.d |  2 +-
>  gas/testsuite/gas/i386/x86-64-opcode.d      |  6 ++--
>  opcodes/i386-dis.c                          |  2 ++
>  14 files changed, 130 insertions(+), 128 deletions(-)
> 
> diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
> index bc212893853..c3e45c2e38c 100644
> --- a/gas/testsuite/gas/i386/intel.d
> +++ b/gas/testsuite/gas/i386/intel.d
> @@ -208,8 +208,8 @@ Disassembly of section .text:
>  [ 	]*[a-f0-9]+:	cd 90 [ 	]*int    \$0x90
>  [ 	]*[a-f0-9]+:	ce [ 	]*into
>  [ 	]*[a-f0-9]+:	cf [ 	]*iret
> -[ 	]*[a-f0-9]+:	d0 90 90 90 90 90 [ 	]*rclb   -0x6f6f6f70\(%eax\)
> -[ 	]*[a-f0-9]+:	d1 90 90 90 90 90 [ 	]*rcll   -0x6f6f6f70\(%eax\)
> +[ 	]*[a-f0-9]+:	d0 90 90 90 90 90 [ 	]*rclb   \$1,-
> 0x6f6f6f70\(%eax\)
> +[ 	]*[a-f0-9]+:	d1 90 90 90 90 90 [ 	]*rcll   \$1,-
> 0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	d2 90 90 90 90 90 [ 	]*rclb   %cl,-
> 0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	d3 90 90 90 90 90 [ 	]*rcll   %cl,-
> 0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	d4 90 [ 	]*aam    \$0x90
> @@ -527,7 +527,7 @@ Disassembly of section .text:
>  [ 	]*[a-f0-9]+:	66 ca 90 90 [ 	]*lretw  \$0x9090
>  [ 	]*[a-f0-9]+:	66 cb [ 	]*lretw
>  [ 	]*[a-f0-9]+:	66 cf [ 	]*iretw
> -[ 	]*[a-f0-9]+:	66 d1 90 90 90 90 90 [ 	]*rclw   -0x6f6f6f70\(%eax\)
> +[ 	]*[a-f0-9]+:	66 d1 90 90 90 90 90 [ 	]*rclw   \$1,-
> 0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	66 d3 90 90 90 90 90 [ 	]*rclw   %cl,-
> 0x6f6f6f70\(%eax\)
>  [ 	]*[a-f0-9]+:	66 e5 90 [ 	]*in     \$0x90,%ax
>  [ 	]*[a-f0-9]+:	66 e7 90 [ 	]*out    %ax,\$0x90
> diff --git a/gas/testsuite/gas/i386/lfence-load.d
> b/gas/testsuite/gas/i386/lfence-load.d
> index 33ebef5432f..eb94bdcbb68 100644
> --- a/gas/testsuite/gas/i386/lfence-load.d
> +++ b/gas/testsuite/gas/i386/lfence-load.d
> @@ -83,7 +83,7 @@ Disassembly of section .text:
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	58                   	pop    %eax
>   +[a-f0-9]+:	0f ae e8             	lfence
> - +[a-f0-9]+:	66 d1 11             	rclw   \(%ecx\)
> + +[a-f0-9]+:	66 d1 11             	rclw   \$1,\(%ecx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	f7 01 01 00 00 00    	testl  \$0x1,\(%ecx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
> diff --git a/gas/testsuite/gas/i386/noreg16-data32.d
> b/gas/testsuite/gas/i386/noreg16-data32.d
> index 7561b549ebb..237e25dd0e1 100644
> --- a/gas/testsuite/gas/i386/noreg16-data32.d
> +++ b/gas/testsuite/gas/i386/noreg16-data32.d
> @@ -96,43 +96,43 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 27          	ptwrite \(%bx\)
>   *[a-f0-9]+:	66 ff 37             	pushl  \(%bx\)
>   *[a-f0-9]+:	66 06                	pushl  %es
> - *[a-f0-9]+:	66 d1 17             	rcll   \(%bx\)
> + *[a-f0-9]+:	66 d1 17             	rcll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 17 02          	rcll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 17             	rcll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 17             	rcll   \(%bx\)
> - *[a-f0-9]+:	66 d1 1f             	rcrl   \(%bx\)
> + *[a-f0-9]+:	66 d1 17             	rcll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 1f             	rcrl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 1f 02          	rcrl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 1f             	rcrl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 1f             	rcrl   \(%bx\)
> - *[a-f0-9]+:	66 d1 07             	roll   \(%bx\)
> + *[a-f0-9]+:	66 d1 1f             	rcrl   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 07             	roll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 07 02          	roll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 07             	roll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 07             	roll   \(%bx\)
> - *[a-f0-9]+:	66 d1 0f             	rorl   \(%bx\)
> + *[a-f0-9]+:	66 d1 07             	roll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 0f             	rorl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 0f 02          	rorl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 0f             	rorl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 0f             	rorl   \(%bx\)
> + *[a-f0-9]+:	66 d1 0f             	rorl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 83 1f 01          	sbbl   \$0x1,\(%bx\)
>   *[a-f0-9]+:	66 81 1f 89 00 00 00 	sbbl   \$0x89,\(%bx\)
>   *[a-f0-9]+:	66 81 1f 34 12 00 00 	sbbl   \$0x1234,\(%bx\)
>   *[a-f0-9]+:	66 af                	scas   %es:\(%di\),%eax
>   *[a-f0-9]+:	66 af                	scas   %es:\(%di\),%eax
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 27 02          	shll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 27             	shll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> - *[a-f0-9]+:	66 d1 3f             	sarl   \(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 3f             	sarl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 3f 02          	sarl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 3f             	sarl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 3f             	sarl   \(%bx\)
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> + *[a-f0-9]+:	66 d1 3f             	sarl   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 27 02          	shll   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 27             	shll   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
> - *[a-f0-9]+:	66 d1 2f             	shrl   \(%bx\)
> + *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
> + *[a-f0-9]+:	66 d1 2f             	shrl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 c1 2f 02          	shrl   \$0x2,\(%bx\)
>   *[a-f0-9]+:	66 d3 2f             	shrl   %cl,\(%bx\)
> - *[a-f0-9]+:	66 d1 2f             	shrl   \(%bx\)
> + *[a-f0-9]+:	66 d1 2f             	shrl   \$1,\(%bx\)
>   *[a-f0-9]+:	66 ab                	stos   %eax,%es:\(%di\)
>   *[a-f0-9]+:	66 ab                	stos   %eax,%es:\(%di\)
>   *[a-f0-9]+:	66 83 2f 01          	subl   \$0x1,\(%bx\)
> diff --git a/gas/testsuite/gas/i386/noreg16.d
> b/gas/testsuite/gas/i386/noreg16.d
> index 86f852fb4ca..e4149b03a6e 100644
> --- a/gas/testsuite/gas/i386/noreg16.d
> +++ b/gas/testsuite/gas/i386/noreg16.d
> @@ -95,43 +95,43 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 27          	ptwrite \(%bx\)
>   *[a-f0-9]+:	ff 37                	push   \(%bx\)
>   *[a-f0-9]+:	06                   	push   %es
> - *[a-f0-9]+:	d1 17                	rclw   \(%bx\)
> + *[a-f0-9]+:	d1 17                	rclw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 17 02             	rclw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 17                	rclw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 17                	rclw   \(%bx\)
> - *[a-f0-9]+:	d1 1f                	rcrw   \(%bx\)
> + *[a-f0-9]+:	d1 17                	rclw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 1f                	rcrw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 1f 02             	rcrw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 1f                	rcrw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 1f                	rcrw   \(%bx\)
> - *[a-f0-9]+:	d1 07                	rolw   \(%bx\)
> + *[a-f0-9]+:	d1 1f                	rcrw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 07                	rolw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 07 02             	rolw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 07                	rolw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 07                	rolw   \(%bx\)
> - *[a-f0-9]+:	d1 0f                	rorw   \(%bx\)
> + *[a-f0-9]+:	d1 07                	rolw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 0f                	rorw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 0f 02             	rorw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 0f                	rorw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 0f                	rorw   \(%bx\)
> + *[a-f0-9]+:	d1 0f                	rorw   \$1,\(%bx\)
>   *[a-f0-9]+:	83 1f 01             	sbbw   \$0x1,\(%bx\)
>   *[a-f0-9]+:	81 1f 89 00          	sbbw   \$0x89,\(%bx\)
>   *[a-f0-9]+:	81 1f 34 12          	sbbw   \$0x1234,\(%bx\)
>   *[a-f0-9]+:	af                   	scas   %es:\(%di\),%ax
>   *[a-f0-9]+:	af                   	scas   %es:\(%di\),%ax
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 27 02             	shlw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 27                	shlw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> - *[a-f0-9]+:	d1 3f                	sarw   \(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 3f                	sarw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 3f 02             	sarw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 3f                	sarw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 3f                	sarw   \(%bx\)
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> + *[a-f0-9]+:	d1 3f                	sarw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 27 02             	shlw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 27                	shlw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
> - *[a-f0-9]+:	d1 2f                	shrw   \(%bx\)
> + *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
> + *[a-f0-9]+:	d1 2f                	shrw   \$1,\(%bx\)
>   *[a-f0-9]+:	c1 2f 02             	shrw   \$0x2,\(%bx\)
>   *[a-f0-9]+:	d3 2f                	shrw   %cl,\(%bx\)
> - *[a-f0-9]+:	d1 2f                	shrw   \(%bx\)
> + *[a-f0-9]+:	d1 2f                	shrw   \$1,\(%bx\)
>   *[a-f0-9]+:	ab                   	stos   %ax,%es:\(%di\)
>   *[a-f0-9]+:	ab                   	stos   %ax,%es:\(%di\)
>   *[a-f0-9]+:	83 2f 01             	subw   \$0x1,\(%bx\)
> diff --git a/gas/testsuite/gas/i386/noreg32-data16.d
> b/gas/testsuite/gas/i386/noreg32-data16.d
> index 1ec6b9e8670..e3ae2116bb1 100644
> --- a/gas/testsuite/gas/i386/noreg32-data16.d
> +++ b/gas/testsuite/gas/i386/noreg32-data16.d
> @@ -103,44 +103,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 20          	ptwrite \(%eax\)
>   *[a-f0-9]+:	66 ff 30             	pushw  \(%eax\)
>   *[a-f0-9]+:	66 06                	pushw  %es
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%eax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 10 02          	rclw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 10             	rclw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%eax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%eax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 18 02          	rcrw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 18             	rcrw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%eax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%eax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 00 02          	rolw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 00             	rolw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%eax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%eax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 08 02          	rorw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 08             	rorw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%eax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 83 18 01          	sbbw   \$0x1,\(%eax\)
>   *[a-f0-9]+:	66 81 18 89 00       	sbbw   \$0x89,\(%eax\)
>   *[a-f0-9]+:	66 81 18 34 12       	sbbw   \$0x1234,\(%eax\)
>   *[a-f0-9]+:	66 81 18 78 56       	sbbw   \$0x5678,\(%eax\)
>   *[a-f0-9]+:	66 af                	scas   %es:\(%edi\),%ax
>   *[a-f0-9]+:	66 af                	scas   %es:\(%edi\),%ax
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 38 02          	sarw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 38             	sarw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%eax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%eax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 c1 28 02          	shrw   \$0x2,\(%eax\)
>   *[a-f0-9]+:	66 d3 28             	shrw   %cl,\(%eax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%eax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%eax\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%edi\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%edi\)
>   *[a-f0-9]+:	66 83 28 01          	subw   \$0x1,\(%eax\)
> diff --git a/gas/testsuite/gas/i386/noreg32.d
> b/gas/testsuite/gas/i386/noreg32.d
> index 9dbef908ce7..8bb08ca73c6 100644
> --- a/gas/testsuite/gas/i386/noreg32.d
> +++ b/gas/testsuite/gas/i386/noreg32.d
> @@ -101,44 +101,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 20          	ptwrite \(%eax\)
>   *[a-f0-9]+:	ff 30                	push   \(%eax\)
>   *[a-f0-9]+:	06                   	push   %es
> - *[a-f0-9]+:	d1 10                	rcll   \(%eax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 10 02             	rcll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 10                	rcll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 10                	rcll   \(%eax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%eax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 18 02             	rcrl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 18                	rcrl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%eax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%eax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 00 02             	roll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 00                	roll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%eax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%eax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 08 02             	rorl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 08                	rorl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%eax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%eax\)
>   *[a-f0-9]+:	83 18 01             	sbbl   \$0x1,\(%eax\)
>   *[a-f0-9]+:	81 18 89 00 00 00    	sbbl   \$0x89,\(%eax\)
>   *[a-f0-9]+:	81 18 34 12 00 00    	sbbl   \$0x1234,\(%eax\)
>   *[a-f0-9]+:	81 18 78 56 34 12    	sbbl   \$0x12345678,\(%eax\)
>   *[a-f0-9]+:	af                   	scas   %es:\(%edi\),%eax
>   *[a-f0-9]+:	af                   	scas   %es:\(%edi\),%eax
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 38 02             	sarl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 38                	sarl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%eax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%eax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%eax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%eax\)
>   *[a-f0-9]+:	c1 28 02             	shrl   \$0x2,\(%eax\)
>   *[a-f0-9]+:	d3 28                	shrl   %cl,\(%eax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%eax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%eax\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%edi\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%edi\)
>   *[a-f0-9]+:	83 28 01             	subl   \$0x1,\(%eax\)
> diff --git a/gas/testsuite/gas/i386/noreg64-data16.d
> b/gas/testsuite/gas/i386/noreg64-data16.d
> index f1e67096a58..802eb4053d3 100644
> --- a/gas/testsuite/gas/i386/noreg64-data16.d
> +++ b/gas/testsuite/gas/i386/noreg64-data16.d
> @@ -106,44 +106,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	66 0f a1             	popw   %fs
>   *[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
>   *[a-f0-9]+:	66 0f a0             	pushw  %fs
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%rax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 10 02          	rclw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 10             	rclw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 10             	rclw   \(%rax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%rax\)
> + *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 18 02          	rcrw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 18             	rcrw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 18             	rcrw   \(%rax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%rax\)
> + *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 00 02          	rolw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 00             	rolw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 00             	rolw   \(%rax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%rax\)
> + *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 08 02          	rorw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 08             	rorw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 08             	rorw   \(%rax\)
> + *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 83 18 01          	sbbw   \$0x1,\(%rax\)
>   *[a-f0-9]+:	66 81 18 89 00       	sbbw   \$0x89,\(%rax\)
>   *[a-f0-9]+:	66 81 18 34 12       	sbbw   \$0x1234,\(%rax\)
>   *[a-f0-9]+:	66 81 18 78 56       	sbbw   \$0x5678,\(%rax\)
>   *[a-f0-9]+:	66 af                	scas   %es:\(%rdi\),%ax
>   *[a-f0-9]+:	66 af                	scas   %es:\(%rdi\),%ax
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 38 02          	sarw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 38             	sarw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 38             	sarw   \(%rax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> + *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%rax\)
> + *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 c1 28 02          	shrw   \$0x2,\(%rax\)
>   *[a-f0-9]+:	66 d3 28             	shrw   %cl,\(%rax\)
> - *[a-f0-9]+:	66 d1 28             	shrw   \(%rax\)
> + *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%rax\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%rdi\)
>   *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%rdi\)
>   *[a-f0-9]+:	66 83 28 01          	subw   \$0x1,\(%rax\)
> diff --git a/gas/testsuite/gas/i386/noreg64-rex64.d
> b/gas/testsuite/gas/i386/noreg64-rex64.d
> index cd8679e626a..e33851d8093 100644
> --- a/gas/testsuite/gas/i386/noreg64-rex64.d
> +++ b/gas/testsuite/gas/i386/noreg64-rex64.d
> @@ -105,44 +105,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 48 0f ae 20       	ptwriteq \(%rax\)
>   *[a-f0-9]+:	48 ff 30             	rex\.W push \(%rax\)
>   *[a-f0-9]+:	48 0f a0             	rex\.W push %fs
> - *[a-f0-9]+:	48 d1 10             	rclq   \(%rax\)
> + *[a-f0-9]+:	48 d1 10             	rclq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 10 02          	rclq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 10             	rclq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 10             	rclq   \(%rax\)
> - *[a-f0-9]+:	48 d1 18             	rcrq   \(%rax\)
> + *[a-f0-9]+:	48 d1 10             	rclq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 18             	rcrq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 18 02          	rcrq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 18             	rcrq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 18             	rcrq   \(%rax\)
> - *[a-f0-9]+:	48 d1 00             	rolq   \(%rax\)
> + *[a-f0-9]+:	48 d1 18             	rcrq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 00             	rolq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 00 02          	rolq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 00             	rolq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 00             	rolq   \(%rax\)
> - *[a-f0-9]+:	48 d1 08             	rorq   \(%rax\)
> + *[a-f0-9]+:	48 d1 00             	rolq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 08             	rorq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 08 02          	rorq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 08             	rorq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 08             	rorq   \(%rax\)
> + *[a-f0-9]+:	48 d1 08             	rorq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 83 18 01          	sbbq   \$0x1,\(%rax\)
>   *[a-f0-9]+:	48 81 18 89 00 00 00 	sbbq   \$0x89,\(%rax\)
>   *[a-f0-9]+:	48 81 18 34 12 00 00 	sbbq   \$0x1234,\(%rax\)
>   *[a-f0-9]+:	48 81 18 78 56 34 12 	sbbq   \$0x12345678,\(%rax\)
>   *[a-f0-9]+:	48 af                	scas   %es:\(%rdi\),%rax
>   *[a-f0-9]+:	48 af                	scas   %es:\(%rdi\),%rax
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 20 02          	shlq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 20             	shlq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> - *[a-f0-9]+:	48 d1 38             	sarq   \(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 38             	sarq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 38 02          	sarq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 38             	sarq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 38             	sarq   \(%rax\)
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> + *[a-f0-9]+:	48 d1 38             	sarq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 20 02          	shlq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 20             	shlq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
> - *[a-f0-9]+:	48 d1 28             	shrq   \(%rax\)
> + *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
> + *[a-f0-9]+:	48 d1 28             	shrq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 c1 28 02          	shrq   \$0x2,\(%rax\)
>   *[a-f0-9]+:	48 d3 28             	shrq   %cl,\(%rax\)
> - *[a-f0-9]+:	48 d1 28             	shrq   \(%rax\)
> + *[a-f0-9]+:	48 d1 28             	shrq   \$1,\(%rax\)
>   *[a-f0-9]+:	48 ab                	stos   %rax,%es:\(%rdi\)
>   *[a-f0-9]+:	48 ab                	stos   %rax,%es:\(%rdi\)
>   *[a-f0-9]+:	48 83 28 01          	subq   \$0x1,\(%rax\)
> diff --git a/gas/testsuite/gas/i386/noreg64.d
> b/gas/testsuite/gas/i386/noreg64.d
> index 354d89069ae..2afdef38f92 100644
> --- a/gas/testsuite/gas/i386/noreg64.d
> +++ b/gas/testsuite/gas/i386/noreg64.d
> @@ -107,44 +107,44 @@ Disassembly of section .text:
>   *[a-f0-9]+:	f3 0f ae 20          	ptwritel \(%rax\)
>   *[a-f0-9]+:	ff 30                	push   \(%rax\)
>   *[a-f0-9]+:	0f a0                	push   %fs
> - *[a-f0-9]+:	d1 10                	rcll   \(%rax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 10 02             	rcll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 10                	rcll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 10                	rcll   \(%rax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%rax\)
> + *[a-f0-9]+:	d1 10                	rcll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 18 02             	rcrl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 18                	rcrl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 18                	rcrl   \(%rax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%rax\)
> + *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 00 02             	roll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 00                	roll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 00                	roll   \(%rax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%rax\)
> + *[a-f0-9]+:	d1 00                	roll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 08 02             	rorl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 08                	rorl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 08                	rorl   \(%rax\)
> + *[a-f0-9]+:	d1 08                	rorl   \$1,\(%rax\)
>   *[a-f0-9]+:	83 18 01             	sbbl   \$0x1,\(%rax\)
>   *[a-f0-9]+:	81 18 89 00 00 00    	sbbl   \$0x89,\(%rax\)
>   *[a-f0-9]+:	81 18 34 12 00 00    	sbbl   \$0x1234,\(%rax\)
>   *[a-f0-9]+:	81 18 78 56 34 12    	sbbl   \$0x12345678,\(%rax\)
>   *[a-f0-9]+:	af                   	scas   %es:\(%rdi\),%eax
>   *[a-f0-9]+:	af                   	scas   %es:\(%rdi\),%eax
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 38 02             	sarl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 38                	sarl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 38                	sarl   \(%rax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> + *[a-f0-9]+:	d1 38                	sarl   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 20                	shll   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 20                	shll   \(%rax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%rax\)
> + *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%rax\)
>   *[a-f0-9]+:	c1 28 02             	shrl   \$0x2,\(%rax\)
>   *[a-f0-9]+:	d3 28                	shrl   %cl,\(%rax\)
> - *[a-f0-9]+:	d1 28                	shrl   \(%rax\)
> + *[a-f0-9]+:	d1 28                	shrl   \$1,\(%rax\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%rdi\)
>   *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%rdi\)
>   *[a-f0-9]+:	83 28 01             	subl   \$0x1,\(%rax\)
> diff --git a/gas/testsuite/gas/i386/opcode-suffix.d
> b/gas/testsuite/gas/i386/opcode-suffix.d
> index 946a0a4d7a0..ca6af50c9cf 100644
> --- a/gas/testsuite/gas/i386/opcode-suffix.d
> +++ b/gas/testsuite/gas/i386/opcode-suffix.d
> @@ -206,8 +206,8 @@ Disassembly of section .text:
>   *[0-9a-f]+:	cd 90[ 	]+int[ 	]+\$0x90
>   *[0-9a-f]+:	ce[ 	]+into
>   *[0-9a-f]+:	cf[ 	]+iretl
> - *[0-9a-f]+:	d0 90 90 90 90 90[ 	]+rclb[ 	]+-0x6f6f6f70\(%eax\)
> - *[0-9a-f]+:	d1 90 90 90 90 90[ 	]+rcll[ 	]+-0x6f6f6f70\(%eax\)
> + *[0-9a-f]+:	d0 90 90 90 90 90[ 	]+rclb[ 	]+\$1,-0x6f6f6f70\(%eax\)
> + *[0-9a-f]+:	d1 90 90 90 90 90[ 	]+rcll[ 	]+\$1,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	d2 90 90 90 90 90[ 	]+rclb[ 	]+%cl,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	d3 90 90 90 90 90[ 	]+rcll[ 	]+%cl,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	d4 90[ 	]+aam[ 	]+\$0x90
> @@ -523,7 +523,7 @@ Disassembly of section .text:
>   *[0-9a-f]+:	66 ca 90 90[ 	]+lretw[ 	]+\$0x9090
>   *[0-9a-f]+:	66 cb[ 	]+lretw
>   *[0-9a-f]+:	66 cf[ 	]+iretw
> - *[0-9a-f]+:	66 d1 90 90 90 90 90[ 	]+rclw[ 	]+-0x6f6f6f70\(%eax\)
> + *[0-9a-f]+:	66 d1 90 90 90 90 90[ 	]+rclw[ 	]+\$1,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	66 d3 90 90 90 90 90[ 	]+rclw[ 	]+%cl,-0x6f6f6f70\(%eax\)
>   *[0-9a-f]+:	66 e5 90[ 	]+inw[ 	]+\$0x90,%ax
>   *[0-9a-f]+:	66 e7 90[ 	]+outw[ 	]+%ax,\$0x90
> diff --git a/gas/testsuite/gas/i386/opcode.d
> b/gas/testsuite/gas/i386/opcode.d index 7631195d8d4..f7af22518e2 100644
> --- a/gas/testsuite/gas/i386/opcode.d
> +++ b/gas/testsuite/gas/i386/opcode.d
> @@ -205,8 +205,8 @@ Disassembly of section .text:
>   279:	cd 90 [ 	]*int    \$0x90
>   27b:	ce [ 	]*into
>   27c:	cf [ 	]*iret
> - 27d:	d0 90 90 90 90 90 [ 	]*rclb   -0x6f6f6f70\(%eax\)
> - 283:	d1 90 90 90 90 90 [ 	]*rcll   -0x6f6f6f70\(%eax\)
> + 27d:	d0 90 90 90 90 90 [ 	]*rclb   \$1,-0x6f6f6f70\(%eax\)
> + 283:	d1 90 90 90 90 90 [ 	]*rcll   \$1,-0x6f6f6f70\(%eax\)
>   289:	d2 90 90 90 90 90 [ 	]*rclb   %cl,-0x6f6f6f70\(%eax\)
>   28f:	d3 90 90 90 90 90 [ 	]*rcll   %cl,-0x6f6f6f70\(%eax\)
>   295:	d4 90 [ 	]*aam    \$0x90
> @@ -522,7 +522,7 @@ Disassembly of section .text:
>   869:	66 ca 90 90 [ 	]*lretw  \$0x9090
>   86d:	66 cb [ 	]*lretw
>   86f:	66 cf [ 	]*iretw
> - 871:	66 d1 90 90 90 90 90 [ 	]*rclw   -0x6f6f6f70\(%eax\)
> + 871:	66 d1 90 90 90 90 90 [ 	]*rclw   \$1,-0x6f6f6f70\(%eax\)
>   878:	66 d3 90 90 90 90 90 [ 	]*rclw   %cl,-0x6f6f6f70\(%eax\)
>   87f:	66 e5 90 [ 	]*in     \$0x90,%ax
>   882:	66 e7 90 [ 	]*out    %ax,\$0x90
> @@ -610,8 +610,8 @@ Disassembly of section .text:
>   +[a-f0-9]+:	f7 c9 04 00 00 00    	test   \$(0x)?0*4,%ecx
>   +[a-f0-9]+:	c0 f0 02             	shl    \$0x2,%al
>   +[a-f0-9]+:	c1 f0 01             	shl    \$0x1,%eax
> - +[a-f0-9]+:	d0 f0                	shl    %al
> - +[a-f0-9]+:	d1 f0                	shl    %eax
> + +[a-f0-9]+:	d0 f0                	shl    \$1,%al
> + +[a-f0-9]+:	d1 f0                	shl    \$1,%eax
>   +[a-f0-9]+:	d2 f0                	shl    %cl,%al
>   +[a-f0-9]+:	d3 f0                	shl    %cl,%eax
>  #pass
> diff --git a/gas/testsuite/gas/i386/x86-64-lfence-load.d
> b/gas/testsuite/gas/i386/x86-64-lfence-load.d
> index b4a03db811d..726236826e8 100644
> --- a/gas/testsuite/gas/i386/x86-64-lfence-load.d
> +++ b/gas/testsuite/gas/i386/x86-64-lfence-load.d
> @@ -90,7 +90,7 @@ Disassembly of section .text:
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	58                   	pop    %rax
>   +[a-f0-9]+:	0f ae e8             	lfence
> - +[a-f0-9]+:	66 d1 11             	rclw   \(%rcx\)
> + +[a-f0-9]+:	66 d1 11             	rclw   \$1,\(%rcx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
>   +[a-f0-9]+:	f7 01 01 00 00 00    	testl  \$0x1,\(%rcx\)
>   +[a-f0-9]+:	0f ae e8             	lfence
> diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d
> b/gas/testsuite/gas/i386/x86-64-opcode.d
> index ee6d0f5f4bd..1b8a9fa9014 100644
> --- a/gas/testsuite/gas/i386/x86-64-opcode.d
> +++ b/gas/testsuite/gas/i386/x86-64-opcode.d
> @@ -335,9 +335,9 @@ Disassembly of section .text:
>  [ 	]*[a-f0-9]+:	c0 f0 02             	shl    \$0x2,%al
>  [ 	]*[a-f0-9]+:	c1 f0 01             	shl    \$0x1,%eax
>  [ 	]*[a-f0-9]+:	48 c1 f0 01          	shl    \$0x1,%rax
> -[ 	]*[a-f0-9]+:	d0 f0                	shl    %al
> -[ 	]*[a-f0-9]+:	d1 f0                	shl    %eax
> -[ 	]*[a-f0-9]+:	48 d1 f0             	shl    %rax
> +[ 	]*[a-f0-9]+:	d0 f0                	shl    \$1,%al
> +[ 	]*[a-f0-9]+:	d1 f0                	shl    \$1,%eax
> +[ 	]*[a-f0-9]+:	48 d1 f0             	shl    \$1,%rax
>  [ 	]*[a-f0-9]+:	d2 f0                	shl    %cl,%al
>  [ 	]*[a-f0-9]+:	d3 f0                	shl    %cl,%eax
>  [ 	]*[a-f0-9]+:	48 d3 f0             	shl    %cl,%rax
> diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index
> 2e2043d467b..e432b61a6cd 100644
> --- a/opcodes/i386-dis.c
> +++ b/opcodes/i386-dis.c
> @@ -12090,6 +12090,8 @@ OP_I (instr_info *ins, int bytemode, int sizeflag)
>      case const_1_mode:
>        if (ins->intel_syntax)
>  	oappend (ins, "1");
> +      else
> +	oappend (ins, "$1");
>        return true;
>      default:
>        oappend (ins, INTERNAL_DISASSEMBLER_ERROR);
> --
> 2.25.1
  

Patch

diff --git a/gas/testsuite/gas/i386/intel.d b/gas/testsuite/gas/i386/intel.d
index bc212893853..c3e45c2e38c 100644
--- a/gas/testsuite/gas/i386/intel.d
+++ b/gas/testsuite/gas/i386/intel.d
@@ -208,8 +208,8 @@  Disassembly of section .text:
 [ 	]*[a-f0-9]+:	cd 90 [ 	]*int    \$0x90
 [ 	]*[a-f0-9]+:	ce [ 	]*into
 [ 	]*[a-f0-9]+:	cf [ 	]*iret
-[ 	]*[a-f0-9]+:	d0 90 90 90 90 90 [ 	]*rclb   -0x6f6f6f70\(%eax\)
-[ 	]*[a-f0-9]+:	d1 90 90 90 90 90 [ 	]*rcll   -0x6f6f6f70\(%eax\)
+[ 	]*[a-f0-9]+:	d0 90 90 90 90 90 [ 	]*rclb   \$1,-0x6f6f6f70\(%eax\)
+[ 	]*[a-f0-9]+:	d1 90 90 90 90 90 [ 	]*rcll   \$1,-0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	d2 90 90 90 90 90 [ 	]*rclb   %cl,-0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	d3 90 90 90 90 90 [ 	]*rcll   %cl,-0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	d4 90 [ 	]*aam    \$0x90
@@ -527,7 +527,7 @@  Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 ca 90 90 [ 	]*lretw  \$0x9090
 [ 	]*[a-f0-9]+:	66 cb [ 	]*lretw
 [ 	]*[a-f0-9]+:	66 cf [ 	]*iretw
-[ 	]*[a-f0-9]+:	66 d1 90 90 90 90 90 [ 	]*rclw   -0x6f6f6f70\(%eax\)
+[ 	]*[a-f0-9]+:	66 d1 90 90 90 90 90 [ 	]*rclw   \$1,-0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	66 d3 90 90 90 90 90 [ 	]*rclw   %cl,-0x6f6f6f70\(%eax\)
 [ 	]*[a-f0-9]+:	66 e5 90 [ 	]*in     \$0x90,%ax
 [ 	]*[a-f0-9]+:	66 e7 90 [ 	]*out    %ax,\$0x90
diff --git a/gas/testsuite/gas/i386/lfence-load.d b/gas/testsuite/gas/i386/lfence-load.d
index 33ebef5432f..eb94bdcbb68 100644
--- a/gas/testsuite/gas/i386/lfence-load.d
+++ b/gas/testsuite/gas/i386/lfence-load.d
@@ -83,7 +83,7 @@  Disassembly of section .text:
  +[a-f0-9]+:	0f ae e8             	lfence
  +[a-f0-9]+:	58                   	pop    %eax
  +[a-f0-9]+:	0f ae e8             	lfence
- +[a-f0-9]+:	66 d1 11             	rclw   \(%ecx\)
+ +[a-f0-9]+:	66 d1 11             	rclw   \$1,\(%ecx\)
  +[a-f0-9]+:	0f ae e8             	lfence
  +[a-f0-9]+:	f7 01 01 00 00 00    	testl  \$0x1,\(%ecx\)
  +[a-f0-9]+:	0f ae e8             	lfence
diff --git a/gas/testsuite/gas/i386/noreg16-data32.d b/gas/testsuite/gas/i386/noreg16-data32.d
index 7561b549ebb..237e25dd0e1 100644
--- a/gas/testsuite/gas/i386/noreg16-data32.d
+++ b/gas/testsuite/gas/i386/noreg16-data32.d
@@ -96,43 +96,43 @@  Disassembly of section .text:
  *[a-f0-9]+:	f3 0f ae 27          	ptwrite \(%bx\)
  *[a-f0-9]+:	66 ff 37             	pushl  \(%bx\)
  *[a-f0-9]+:	66 06                	pushl  %es
- *[a-f0-9]+:	66 d1 17             	rcll   \(%bx\)
+ *[a-f0-9]+:	66 d1 17             	rcll   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 17 02          	rcll   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 17             	rcll   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 17             	rcll   \(%bx\)
- *[a-f0-9]+:	66 d1 1f             	rcrl   \(%bx\)
+ *[a-f0-9]+:	66 d1 17             	rcll   \$1,\(%bx\)
+ *[a-f0-9]+:	66 d1 1f             	rcrl   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 1f 02          	rcrl   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 1f             	rcrl   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 1f             	rcrl   \(%bx\)
- *[a-f0-9]+:	66 d1 07             	roll   \(%bx\)
+ *[a-f0-9]+:	66 d1 1f             	rcrl   \$1,\(%bx\)
+ *[a-f0-9]+:	66 d1 07             	roll   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 07 02          	roll   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 07             	roll   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 07             	roll   \(%bx\)
- *[a-f0-9]+:	66 d1 0f             	rorl   \(%bx\)
+ *[a-f0-9]+:	66 d1 07             	roll   \$1,\(%bx\)
+ *[a-f0-9]+:	66 d1 0f             	rorl   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 0f 02          	rorl   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 0f             	rorl   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 0f             	rorl   \(%bx\)
+ *[a-f0-9]+:	66 d1 0f             	rorl   \$1,\(%bx\)
  *[a-f0-9]+:	66 83 1f 01          	sbbl   \$0x1,\(%bx\)
  *[a-f0-9]+:	66 81 1f 89 00 00 00 	sbbl   \$0x89,\(%bx\)
  *[a-f0-9]+:	66 81 1f 34 12 00 00 	sbbl   \$0x1234,\(%bx\)
  *[a-f0-9]+:	66 af                	scas   %es:\(%di\),%eax
  *[a-f0-9]+:	66 af                	scas   %es:\(%di\),%eax
- *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
+ *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 27 02          	shll   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 27             	shll   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
- *[a-f0-9]+:	66 d1 3f             	sarl   \(%bx\)
+ *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
+ *[a-f0-9]+:	66 d1 3f             	sarl   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 3f 02          	sarl   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 3f             	sarl   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 3f             	sarl   \(%bx\)
- *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
+ *[a-f0-9]+:	66 d1 3f             	sarl   \$1,\(%bx\)
+ *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 27 02          	shll   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 27             	shll   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 27             	shll   \(%bx\)
- *[a-f0-9]+:	66 d1 2f             	shrl   \(%bx\)
+ *[a-f0-9]+:	66 d1 27             	shll   \$1,\(%bx\)
+ *[a-f0-9]+:	66 d1 2f             	shrl   \$1,\(%bx\)
  *[a-f0-9]+:	66 c1 2f 02          	shrl   \$0x2,\(%bx\)
  *[a-f0-9]+:	66 d3 2f             	shrl   %cl,\(%bx\)
- *[a-f0-9]+:	66 d1 2f             	shrl   \(%bx\)
+ *[a-f0-9]+:	66 d1 2f             	shrl   \$1,\(%bx\)
  *[a-f0-9]+:	66 ab                	stos   %eax,%es:\(%di\)
  *[a-f0-9]+:	66 ab                	stos   %eax,%es:\(%di\)
  *[a-f0-9]+:	66 83 2f 01          	subl   \$0x1,\(%bx\)
diff --git a/gas/testsuite/gas/i386/noreg16.d b/gas/testsuite/gas/i386/noreg16.d
index 86f852fb4ca..e4149b03a6e 100644
--- a/gas/testsuite/gas/i386/noreg16.d
+++ b/gas/testsuite/gas/i386/noreg16.d
@@ -95,43 +95,43 @@  Disassembly of section .text:
  *[a-f0-9]+:	f3 0f ae 27          	ptwrite \(%bx\)
  *[a-f0-9]+:	ff 37                	push   \(%bx\)
  *[a-f0-9]+:	06                   	push   %es
- *[a-f0-9]+:	d1 17                	rclw   \(%bx\)
+ *[a-f0-9]+:	d1 17                	rclw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 17 02             	rclw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 17                	rclw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 17                	rclw   \(%bx\)
- *[a-f0-9]+:	d1 1f                	rcrw   \(%bx\)
+ *[a-f0-9]+:	d1 17                	rclw   \$1,\(%bx\)
+ *[a-f0-9]+:	d1 1f                	rcrw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 1f 02             	rcrw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 1f                	rcrw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 1f                	rcrw   \(%bx\)
- *[a-f0-9]+:	d1 07                	rolw   \(%bx\)
+ *[a-f0-9]+:	d1 1f                	rcrw   \$1,\(%bx\)
+ *[a-f0-9]+:	d1 07                	rolw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 07 02             	rolw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 07                	rolw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 07                	rolw   \(%bx\)
- *[a-f0-9]+:	d1 0f                	rorw   \(%bx\)
+ *[a-f0-9]+:	d1 07                	rolw   \$1,\(%bx\)
+ *[a-f0-9]+:	d1 0f                	rorw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 0f 02             	rorw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 0f                	rorw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 0f                	rorw   \(%bx\)
+ *[a-f0-9]+:	d1 0f                	rorw   \$1,\(%bx\)
  *[a-f0-9]+:	83 1f 01             	sbbw   \$0x1,\(%bx\)
  *[a-f0-9]+:	81 1f 89 00          	sbbw   \$0x89,\(%bx\)
  *[a-f0-9]+:	81 1f 34 12          	sbbw   \$0x1234,\(%bx\)
  *[a-f0-9]+:	af                   	scas   %es:\(%di\),%ax
  *[a-f0-9]+:	af                   	scas   %es:\(%di\),%ax
- *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
+ *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 27 02             	shlw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 27                	shlw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
- *[a-f0-9]+:	d1 3f                	sarw   \(%bx\)
+ *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
+ *[a-f0-9]+:	d1 3f                	sarw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 3f 02             	sarw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 3f                	sarw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 3f                	sarw   \(%bx\)
- *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
+ *[a-f0-9]+:	d1 3f                	sarw   \$1,\(%bx\)
+ *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 27 02             	shlw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 27                	shlw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 27                	shlw   \(%bx\)
- *[a-f0-9]+:	d1 2f                	shrw   \(%bx\)
+ *[a-f0-9]+:	d1 27                	shlw   \$1,\(%bx\)
+ *[a-f0-9]+:	d1 2f                	shrw   \$1,\(%bx\)
  *[a-f0-9]+:	c1 2f 02             	shrw   \$0x2,\(%bx\)
  *[a-f0-9]+:	d3 2f                	shrw   %cl,\(%bx\)
- *[a-f0-9]+:	d1 2f                	shrw   \(%bx\)
+ *[a-f0-9]+:	d1 2f                	shrw   \$1,\(%bx\)
  *[a-f0-9]+:	ab                   	stos   %ax,%es:\(%di\)
  *[a-f0-9]+:	ab                   	stos   %ax,%es:\(%di\)
  *[a-f0-9]+:	83 2f 01             	subw   \$0x1,\(%bx\)
diff --git a/gas/testsuite/gas/i386/noreg32-data16.d b/gas/testsuite/gas/i386/noreg32-data16.d
index 1ec6b9e8670..e3ae2116bb1 100644
--- a/gas/testsuite/gas/i386/noreg32-data16.d
+++ b/gas/testsuite/gas/i386/noreg32-data16.d
@@ -103,44 +103,44 @@  Disassembly of section .text:
  *[a-f0-9]+:	f3 0f ae 20          	ptwrite \(%eax\)
  *[a-f0-9]+:	66 ff 30             	pushw  \(%eax\)
  *[a-f0-9]+:	66 06                	pushw  %es
- *[a-f0-9]+:	66 d1 10             	rclw   \(%eax\)
+ *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 10 02          	rclw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 10             	rclw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 10             	rclw   \(%eax\)
- *[a-f0-9]+:	66 d1 18             	rcrw   \(%eax\)
+ *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%eax\)
+ *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 18 02          	rcrw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 18             	rcrw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 18             	rcrw   \(%eax\)
- *[a-f0-9]+:	66 d1 00             	rolw   \(%eax\)
+ *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%eax\)
+ *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 00 02          	rolw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 00             	rolw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 00             	rolw   \(%eax\)
- *[a-f0-9]+:	66 d1 08             	rorw   \(%eax\)
+ *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%eax\)
+ *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 08 02          	rorw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 08             	rorw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 08             	rorw   \(%eax\)
+ *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%eax\)
  *[a-f0-9]+:	66 83 18 01          	sbbw   \$0x1,\(%eax\)
  *[a-f0-9]+:	66 81 18 89 00       	sbbw   \$0x89,\(%eax\)
  *[a-f0-9]+:	66 81 18 34 12       	sbbw   \$0x1234,\(%eax\)
  *[a-f0-9]+:	66 81 18 78 56       	sbbw   \$0x5678,\(%eax\)
  *[a-f0-9]+:	66 af                	scas   %es:\(%edi\),%ax
  *[a-f0-9]+:	66 af                	scas   %es:\(%edi\),%ax
- *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
- *[a-f0-9]+:	66 d1 38             	sarw   \(%eax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
+ *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 38 02          	sarw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 38             	sarw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 38             	sarw   \(%eax\)
- *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
+ *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%eax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 20             	shlw   \(%eax\)
- *[a-f0-9]+:	66 d1 28             	shrw   \(%eax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%eax\)
+ *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%eax\)
  *[a-f0-9]+:	66 c1 28 02          	shrw   \$0x2,\(%eax\)
  *[a-f0-9]+:	66 d3 28             	shrw   %cl,\(%eax\)
- *[a-f0-9]+:	66 d1 28             	shrw   \(%eax\)
+ *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%eax\)
  *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%edi\)
  *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%edi\)
  *[a-f0-9]+:	66 83 28 01          	subw   \$0x1,\(%eax\)
diff --git a/gas/testsuite/gas/i386/noreg32.d b/gas/testsuite/gas/i386/noreg32.d
index 9dbef908ce7..8bb08ca73c6 100644
--- a/gas/testsuite/gas/i386/noreg32.d
+++ b/gas/testsuite/gas/i386/noreg32.d
@@ -101,44 +101,44 @@  Disassembly of section .text:
  *[a-f0-9]+:	f3 0f ae 20          	ptwrite \(%eax\)
  *[a-f0-9]+:	ff 30                	push   \(%eax\)
  *[a-f0-9]+:	06                   	push   %es
- *[a-f0-9]+:	d1 10                	rcll   \(%eax\)
+ *[a-f0-9]+:	d1 10                	rcll   \$1,\(%eax\)
  *[a-f0-9]+:	c1 10 02             	rcll   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 10                	rcll   %cl,\(%eax\)
- *[a-f0-9]+:	d1 10                	rcll   \(%eax\)
- *[a-f0-9]+:	d1 18                	rcrl   \(%eax\)
+ *[a-f0-9]+:	d1 10                	rcll   \$1,\(%eax\)
+ *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%eax\)
  *[a-f0-9]+:	c1 18 02             	rcrl   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 18                	rcrl   %cl,\(%eax\)
- *[a-f0-9]+:	d1 18                	rcrl   \(%eax\)
- *[a-f0-9]+:	d1 00                	roll   \(%eax\)
+ *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%eax\)
+ *[a-f0-9]+:	d1 00                	roll   \$1,\(%eax\)
  *[a-f0-9]+:	c1 00 02             	roll   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 00                	roll   %cl,\(%eax\)
- *[a-f0-9]+:	d1 00                	roll   \(%eax\)
- *[a-f0-9]+:	d1 08                	rorl   \(%eax\)
+ *[a-f0-9]+:	d1 00                	roll   \$1,\(%eax\)
+ *[a-f0-9]+:	d1 08                	rorl   \$1,\(%eax\)
  *[a-f0-9]+:	c1 08 02             	rorl   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 08                	rorl   %cl,\(%eax\)
- *[a-f0-9]+:	d1 08                	rorl   \(%eax\)
+ *[a-f0-9]+:	d1 08                	rorl   \$1,\(%eax\)
  *[a-f0-9]+:	83 18 01             	sbbl   \$0x1,\(%eax\)
  *[a-f0-9]+:	81 18 89 00 00 00    	sbbl   \$0x89,\(%eax\)
  *[a-f0-9]+:	81 18 34 12 00 00    	sbbl   \$0x1234,\(%eax\)
  *[a-f0-9]+:	81 18 78 56 34 12    	sbbl   \$0x12345678,\(%eax\)
  *[a-f0-9]+:	af                   	scas   %es:\(%edi\),%eax
  *[a-f0-9]+:	af                   	scas   %es:\(%edi\),%eax
- *[a-f0-9]+:	d1 20                	shll   \(%eax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
  *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 20                	shll   %cl,\(%eax\)
- *[a-f0-9]+:	d1 20                	shll   \(%eax\)
- *[a-f0-9]+:	d1 38                	sarl   \(%eax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
+ *[a-f0-9]+:	d1 38                	sarl   \$1,\(%eax\)
  *[a-f0-9]+:	c1 38 02             	sarl   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 38                	sarl   %cl,\(%eax\)
- *[a-f0-9]+:	d1 38                	sarl   \(%eax\)
- *[a-f0-9]+:	d1 20                	shll   \(%eax\)
+ *[a-f0-9]+:	d1 38                	sarl   \$1,\(%eax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
  *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 20                	shll   %cl,\(%eax\)
- *[a-f0-9]+:	d1 20                	shll   \(%eax\)
- *[a-f0-9]+:	d1 28                	shrl   \(%eax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%eax\)
+ *[a-f0-9]+:	d1 28                	shrl   \$1,\(%eax\)
  *[a-f0-9]+:	c1 28 02             	shrl   \$0x2,\(%eax\)
  *[a-f0-9]+:	d3 28                	shrl   %cl,\(%eax\)
- *[a-f0-9]+:	d1 28                	shrl   \(%eax\)
+ *[a-f0-9]+:	d1 28                	shrl   \$1,\(%eax\)
  *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%edi\)
  *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%edi\)
  *[a-f0-9]+:	83 28 01             	subl   \$0x1,\(%eax\)
diff --git a/gas/testsuite/gas/i386/noreg64-data16.d b/gas/testsuite/gas/i386/noreg64-data16.d
index f1e67096a58..802eb4053d3 100644
--- a/gas/testsuite/gas/i386/noreg64-data16.d
+++ b/gas/testsuite/gas/i386/noreg64-data16.d
@@ -106,44 +106,44 @@  Disassembly of section .text:
  *[a-f0-9]+:	66 0f a1             	popw   %fs
  *[a-f0-9]+:	66 ff 30             	pushw  \(%rax\)
  *[a-f0-9]+:	66 0f a0             	pushw  %fs
- *[a-f0-9]+:	66 d1 10             	rclw   \(%rax\)
+ *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 10 02          	rclw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 10             	rclw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 10             	rclw   \(%rax\)
- *[a-f0-9]+:	66 d1 18             	rcrw   \(%rax\)
+ *[a-f0-9]+:	66 d1 10             	rclw   \$1,\(%rax\)
+ *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 18 02          	rcrw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 18             	rcrw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 18             	rcrw   \(%rax\)
- *[a-f0-9]+:	66 d1 00             	rolw   \(%rax\)
+ *[a-f0-9]+:	66 d1 18             	rcrw   \$1,\(%rax\)
+ *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 00 02          	rolw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 00             	rolw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 00             	rolw   \(%rax\)
- *[a-f0-9]+:	66 d1 08             	rorw   \(%rax\)
+ *[a-f0-9]+:	66 d1 00             	rolw   \$1,\(%rax\)
+ *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 08 02          	rorw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 08             	rorw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 08             	rorw   \(%rax\)
+ *[a-f0-9]+:	66 d1 08             	rorw   \$1,\(%rax\)
  *[a-f0-9]+:	66 83 18 01          	sbbw   \$0x1,\(%rax\)
  *[a-f0-9]+:	66 81 18 89 00       	sbbw   \$0x89,\(%rax\)
  *[a-f0-9]+:	66 81 18 34 12       	sbbw   \$0x1234,\(%rax\)
  *[a-f0-9]+:	66 81 18 78 56       	sbbw   \$0x5678,\(%rax\)
  *[a-f0-9]+:	66 af                	scas   %es:\(%rdi\),%ax
  *[a-f0-9]+:	66 af                	scas   %es:\(%rdi\),%ax
- *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
- *[a-f0-9]+:	66 d1 38             	sarw   \(%rax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
+ *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 38 02          	sarw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 38             	sarw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 38             	sarw   \(%rax\)
- *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
+ *[a-f0-9]+:	66 d1 38             	sarw   \$1,\(%rax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 20 02          	shlw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 20             	shlw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 20             	shlw   \(%rax\)
- *[a-f0-9]+:	66 d1 28             	shrw   \(%rax\)
+ *[a-f0-9]+:	66 d1 20             	shlw   \$1,\(%rax\)
+ *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%rax\)
  *[a-f0-9]+:	66 c1 28 02          	shrw   \$0x2,\(%rax\)
  *[a-f0-9]+:	66 d3 28             	shrw   %cl,\(%rax\)
- *[a-f0-9]+:	66 d1 28             	shrw   \(%rax\)
+ *[a-f0-9]+:	66 d1 28             	shrw   \$1,\(%rax\)
  *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%rdi\)
  *[a-f0-9]+:	66 ab                	stos   %ax,%es:\(%rdi\)
  *[a-f0-9]+:	66 83 28 01          	subw   \$0x1,\(%rax\)
diff --git a/gas/testsuite/gas/i386/noreg64-rex64.d b/gas/testsuite/gas/i386/noreg64-rex64.d
index cd8679e626a..e33851d8093 100644
--- a/gas/testsuite/gas/i386/noreg64-rex64.d
+++ b/gas/testsuite/gas/i386/noreg64-rex64.d
@@ -105,44 +105,44 @@  Disassembly of section .text:
  *[a-f0-9]+:	f3 48 0f ae 20       	ptwriteq \(%rax\)
  *[a-f0-9]+:	48 ff 30             	rex\.W push \(%rax\)
  *[a-f0-9]+:	48 0f a0             	rex\.W push %fs
- *[a-f0-9]+:	48 d1 10             	rclq   \(%rax\)
+ *[a-f0-9]+:	48 d1 10             	rclq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 10 02          	rclq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 10             	rclq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 10             	rclq   \(%rax\)
- *[a-f0-9]+:	48 d1 18             	rcrq   \(%rax\)
+ *[a-f0-9]+:	48 d1 10             	rclq   \$1,\(%rax\)
+ *[a-f0-9]+:	48 d1 18             	rcrq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 18 02          	rcrq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 18             	rcrq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 18             	rcrq   \(%rax\)
- *[a-f0-9]+:	48 d1 00             	rolq   \(%rax\)
+ *[a-f0-9]+:	48 d1 18             	rcrq   \$1,\(%rax\)
+ *[a-f0-9]+:	48 d1 00             	rolq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 00 02          	rolq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 00             	rolq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 00             	rolq   \(%rax\)
- *[a-f0-9]+:	48 d1 08             	rorq   \(%rax\)
+ *[a-f0-9]+:	48 d1 00             	rolq   \$1,\(%rax\)
+ *[a-f0-9]+:	48 d1 08             	rorq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 08 02          	rorq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 08             	rorq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 08             	rorq   \(%rax\)
+ *[a-f0-9]+:	48 d1 08             	rorq   \$1,\(%rax\)
  *[a-f0-9]+:	48 83 18 01          	sbbq   \$0x1,\(%rax\)
  *[a-f0-9]+:	48 81 18 89 00 00 00 	sbbq   \$0x89,\(%rax\)
  *[a-f0-9]+:	48 81 18 34 12 00 00 	sbbq   \$0x1234,\(%rax\)
  *[a-f0-9]+:	48 81 18 78 56 34 12 	sbbq   \$0x12345678,\(%rax\)
  *[a-f0-9]+:	48 af                	scas   %es:\(%rdi\),%rax
  *[a-f0-9]+:	48 af                	scas   %es:\(%rdi\),%rax
- *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
+ *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 20 02          	shlq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 20             	shlq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
- *[a-f0-9]+:	48 d1 38             	sarq   \(%rax\)
+ *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
+ *[a-f0-9]+:	48 d1 38             	sarq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 38 02          	sarq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 38             	sarq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 38             	sarq   \(%rax\)
- *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
+ *[a-f0-9]+:	48 d1 38             	sarq   \$1,\(%rax\)
+ *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 20 02          	shlq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 20             	shlq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 20             	shlq   \(%rax\)
- *[a-f0-9]+:	48 d1 28             	shrq   \(%rax\)
+ *[a-f0-9]+:	48 d1 20             	shlq   \$1,\(%rax\)
+ *[a-f0-9]+:	48 d1 28             	shrq   \$1,\(%rax\)
  *[a-f0-9]+:	48 c1 28 02          	shrq   \$0x2,\(%rax\)
  *[a-f0-9]+:	48 d3 28             	shrq   %cl,\(%rax\)
- *[a-f0-9]+:	48 d1 28             	shrq   \(%rax\)
+ *[a-f0-9]+:	48 d1 28             	shrq   \$1,\(%rax\)
  *[a-f0-9]+:	48 ab                	stos   %rax,%es:\(%rdi\)
  *[a-f0-9]+:	48 ab                	stos   %rax,%es:\(%rdi\)
  *[a-f0-9]+:	48 83 28 01          	subq   \$0x1,\(%rax\)
diff --git a/gas/testsuite/gas/i386/noreg64.d b/gas/testsuite/gas/i386/noreg64.d
index 354d89069ae..2afdef38f92 100644
--- a/gas/testsuite/gas/i386/noreg64.d
+++ b/gas/testsuite/gas/i386/noreg64.d
@@ -107,44 +107,44 @@  Disassembly of section .text:
  *[a-f0-9]+:	f3 0f ae 20          	ptwritel \(%rax\)
  *[a-f0-9]+:	ff 30                	push   \(%rax\)
  *[a-f0-9]+:	0f a0                	push   %fs
- *[a-f0-9]+:	d1 10                	rcll   \(%rax\)
+ *[a-f0-9]+:	d1 10                	rcll   \$1,\(%rax\)
  *[a-f0-9]+:	c1 10 02             	rcll   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 10                	rcll   %cl,\(%rax\)
- *[a-f0-9]+:	d1 10                	rcll   \(%rax\)
- *[a-f0-9]+:	d1 18                	rcrl   \(%rax\)
+ *[a-f0-9]+:	d1 10                	rcll   \$1,\(%rax\)
+ *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%rax\)
  *[a-f0-9]+:	c1 18 02             	rcrl   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 18                	rcrl   %cl,\(%rax\)
- *[a-f0-9]+:	d1 18                	rcrl   \(%rax\)
- *[a-f0-9]+:	d1 00                	roll   \(%rax\)
+ *[a-f0-9]+:	d1 18                	rcrl   \$1,\(%rax\)
+ *[a-f0-9]+:	d1 00                	roll   \$1,\(%rax\)
  *[a-f0-9]+:	c1 00 02             	roll   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 00                	roll   %cl,\(%rax\)
- *[a-f0-9]+:	d1 00                	roll   \(%rax\)
- *[a-f0-9]+:	d1 08                	rorl   \(%rax\)
+ *[a-f0-9]+:	d1 00                	roll   \$1,\(%rax\)
+ *[a-f0-9]+:	d1 08                	rorl   \$1,\(%rax\)
  *[a-f0-9]+:	c1 08 02             	rorl   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 08                	rorl   %cl,\(%rax\)
- *[a-f0-9]+:	d1 08                	rorl   \(%rax\)
+ *[a-f0-9]+:	d1 08                	rorl   \$1,\(%rax\)
  *[a-f0-9]+:	83 18 01             	sbbl   \$0x1,\(%rax\)
  *[a-f0-9]+:	81 18 89 00 00 00    	sbbl   \$0x89,\(%rax\)
  *[a-f0-9]+:	81 18 34 12 00 00    	sbbl   \$0x1234,\(%rax\)
  *[a-f0-9]+:	81 18 78 56 34 12    	sbbl   \$0x12345678,\(%rax\)
  *[a-f0-9]+:	af                   	scas   %es:\(%rdi\),%eax
  *[a-f0-9]+:	af                   	scas   %es:\(%rdi\),%eax
- *[a-f0-9]+:	d1 20                	shll   \(%rax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
  *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 20                	shll   %cl,\(%rax\)
- *[a-f0-9]+:	d1 20                	shll   \(%rax\)
- *[a-f0-9]+:	d1 38                	sarl   \(%rax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
+ *[a-f0-9]+:	d1 38                	sarl   \$1,\(%rax\)
  *[a-f0-9]+:	c1 38 02             	sarl   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 38                	sarl   %cl,\(%rax\)
- *[a-f0-9]+:	d1 38                	sarl   \(%rax\)
- *[a-f0-9]+:	d1 20                	shll   \(%rax\)
+ *[a-f0-9]+:	d1 38                	sarl   \$1,\(%rax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
  *[a-f0-9]+:	c1 20 02             	shll   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 20                	shll   %cl,\(%rax\)
- *[a-f0-9]+:	d1 20                	shll   \(%rax\)
- *[a-f0-9]+:	d1 28                	shrl   \(%rax\)
+ *[a-f0-9]+:	d1 20                	shll   \$1,\(%rax\)
+ *[a-f0-9]+:	d1 28                	shrl   \$1,\(%rax\)
  *[a-f0-9]+:	c1 28 02             	shrl   \$0x2,\(%rax\)
  *[a-f0-9]+:	d3 28                	shrl   %cl,\(%rax\)
- *[a-f0-9]+:	d1 28                	shrl   \(%rax\)
+ *[a-f0-9]+:	d1 28                	shrl   \$1,\(%rax\)
  *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%rdi\)
  *[a-f0-9]+:	ab                   	stos   %eax,%es:\(%rdi\)
  *[a-f0-9]+:	83 28 01             	subl   \$0x1,\(%rax\)
diff --git a/gas/testsuite/gas/i386/opcode-suffix.d b/gas/testsuite/gas/i386/opcode-suffix.d
index 946a0a4d7a0..ca6af50c9cf 100644
--- a/gas/testsuite/gas/i386/opcode-suffix.d
+++ b/gas/testsuite/gas/i386/opcode-suffix.d
@@ -206,8 +206,8 @@  Disassembly of section .text:
  *[0-9a-f]+:	cd 90[ 	]+int[ 	]+\$0x90
  *[0-9a-f]+:	ce[ 	]+into
  *[0-9a-f]+:	cf[ 	]+iretl
- *[0-9a-f]+:	d0 90 90 90 90 90[ 	]+rclb[ 	]+-0x6f6f6f70\(%eax\)
- *[0-9a-f]+:	d1 90 90 90 90 90[ 	]+rcll[ 	]+-0x6f6f6f70\(%eax\)
+ *[0-9a-f]+:	d0 90 90 90 90 90[ 	]+rclb[ 	]+\$1,-0x6f6f6f70\(%eax\)
+ *[0-9a-f]+:	d1 90 90 90 90 90[ 	]+rcll[ 	]+\$1,-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	d2 90 90 90 90 90[ 	]+rclb[ 	]+%cl,-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	d3 90 90 90 90 90[ 	]+rcll[ 	]+%cl,-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	d4 90[ 	]+aam[ 	]+\$0x90
@@ -523,7 +523,7 @@  Disassembly of section .text:
  *[0-9a-f]+:	66 ca 90 90[ 	]+lretw[ 	]+\$0x9090
  *[0-9a-f]+:	66 cb[ 	]+lretw
  *[0-9a-f]+:	66 cf[ 	]+iretw
- *[0-9a-f]+:	66 d1 90 90 90 90 90[ 	]+rclw[ 	]+-0x6f6f6f70\(%eax\)
+ *[0-9a-f]+:	66 d1 90 90 90 90 90[ 	]+rclw[ 	]+\$1,-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	66 d3 90 90 90 90 90[ 	]+rclw[ 	]+%cl,-0x6f6f6f70\(%eax\)
  *[0-9a-f]+:	66 e5 90[ 	]+inw[ 	]+\$0x90,%ax
  *[0-9a-f]+:	66 e7 90[ 	]+outw[ 	]+%ax,\$0x90
diff --git a/gas/testsuite/gas/i386/opcode.d b/gas/testsuite/gas/i386/opcode.d
index 7631195d8d4..f7af22518e2 100644
--- a/gas/testsuite/gas/i386/opcode.d
+++ b/gas/testsuite/gas/i386/opcode.d
@@ -205,8 +205,8 @@  Disassembly of section .text:
  279:	cd 90 [ 	]*int    \$0x90
  27b:	ce [ 	]*into
  27c:	cf [ 	]*iret
- 27d:	d0 90 90 90 90 90 [ 	]*rclb   -0x6f6f6f70\(%eax\)
- 283:	d1 90 90 90 90 90 [ 	]*rcll   -0x6f6f6f70\(%eax\)
+ 27d:	d0 90 90 90 90 90 [ 	]*rclb   \$1,-0x6f6f6f70\(%eax\)
+ 283:	d1 90 90 90 90 90 [ 	]*rcll   \$1,-0x6f6f6f70\(%eax\)
  289:	d2 90 90 90 90 90 [ 	]*rclb   %cl,-0x6f6f6f70\(%eax\)
  28f:	d3 90 90 90 90 90 [ 	]*rcll   %cl,-0x6f6f6f70\(%eax\)
  295:	d4 90 [ 	]*aam    \$0x90
@@ -522,7 +522,7 @@  Disassembly of section .text:
  869:	66 ca 90 90 [ 	]*lretw  \$0x9090
  86d:	66 cb [ 	]*lretw
  86f:	66 cf [ 	]*iretw
- 871:	66 d1 90 90 90 90 90 [ 	]*rclw   -0x6f6f6f70\(%eax\)
+ 871:	66 d1 90 90 90 90 90 [ 	]*rclw   \$1,-0x6f6f6f70\(%eax\)
  878:	66 d3 90 90 90 90 90 [ 	]*rclw   %cl,-0x6f6f6f70\(%eax\)
  87f:	66 e5 90 [ 	]*in     \$0x90,%ax
  882:	66 e7 90 [ 	]*out    %ax,\$0x90
@@ -610,8 +610,8 @@  Disassembly of section .text:
  +[a-f0-9]+:	f7 c9 04 00 00 00    	test   \$(0x)?0*4,%ecx
  +[a-f0-9]+:	c0 f0 02             	shl    \$0x2,%al
  +[a-f0-9]+:	c1 f0 01             	shl    \$0x1,%eax
- +[a-f0-9]+:	d0 f0                	shl    %al
- +[a-f0-9]+:	d1 f0                	shl    %eax
+ +[a-f0-9]+:	d0 f0                	shl    \$1,%al
+ +[a-f0-9]+:	d1 f0                	shl    \$1,%eax
  +[a-f0-9]+:	d2 f0                	shl    %cl,%al
  +[a-f0-9]+:	d3 f0                	shl    %cl,%eax
 #pass
diff --git a/gas/testsuite/gas/i386/x86-64-lfence-load.d b/gas/testsuite/gas/i386/x86-64-lfence-load.d
index b4a03db811d..726236826e8 100644
--- a/gas/testsuite/gas/i386/x86-64-lfence-load.d
+++ b/gas/testsuite/gas/i386/x86-64-lfence-load.d
@@ -90,7 +90,7 @@  Disassembly of section .text:
  +[a-f0-9]+:	0f ae e8             	lfence
  +[a-f0-9]+:	58                   	pop    %rax
  +[a-f0-9]+:	0f ae e8             	lfence
- +[a-f0-9]+:	66 d1 11             	rclw   \(%rcx\)
+ +[a-f0-9]+:	66 d1 11             	rclw   \$1,\(%rcx\)
  +[a-f0-9]+:	0f ae e8             	lfence
  +[a-f0-9]+:	f7 01 01 00 00 00    	testl  \$0x1,\(%rcx\)
  +[a-f0-9]+:	0f ae e8             	lfence
diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-64-opcode.d
index ee6d0f5f4bd..1b8a9fa9014 100644
--- a/gas/testsuite/gas/i386/x86-64-opcode.d
+++ b/gas/testsuite/gas/i386/x86-64-opcode.d
@@ -335,9 +335,9 @@  Disassembly of section .text:
 [ 	]*[a-f0-9]+:	c0 f0 02             	shl    \$0x2,%al
 [ 	]*[a-f0-9]+:	c1 f0 01             	shl    \$0x1,%eax
 [ 	]*[a-f0-9]+:	48 c1 f0 01          	shl    \$0x1,%rax
-[ 	]*[a-f0-9]+:	d0 f0                	shl    %al
-[ 	]*[a-f0-9]+:	d1 f0                	shl    %eax
-[ 	]*[a-f0-9]+:	48 d1 f0             	shl    %rax
+[ 	]*[a-f0-9]+:	d0 f0                	shl    \$1,%al
+[ 	]*[a-f0-9]+:	d1 f0                	shl    \$1,%eax
+[ 	]*[a-f0-9]+:	48 d1 f0             	shl    \$1,%rax
 [ 	]*[a-f0-9]+:	d2 f0                	shl    %cl,%al
 [ 	]*[a-f0-9]+:	d3 f0                	shl    %cl,%eax
 [ 	]*[a-f0-9]+:	48 d3 f0             	shl    %cl,%rax
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 2e2043d467b..e432b61a6cd 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -12090,6 +12090,8 @@  OP_I (instr_info *ins, int bytemode, int sizeflag)
     case const_1_mode:
       if (ins->intel_syntax)
 	oappend (ins, "1");
+      else
+	oappend (ins, "$1");
       return true;
     default:
       oappend (ins, INTERNAL_DISASSEMBLER_ERROR);