x86: improve handling of insns with ambiguous operand sizes
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / noreg64.s
index c50d76a180d89868ad8b4de1cf0843b267dd83b9..7418ccb2204dea83a2ea3a678c6646e6b4546024 100644 (file)
@@ -1,16 +1,32 @@
        .text
 noreg:
        adc     $1, (%rax)
+       adc     $0x89, (%rax)
+       adc     $0x1234, (%rax)
+       adc     $0x12345678, (%rax)
        add     $1, (%rax)
+       add     $0x89, (%rax)
+       add     $0x1234, (%rax)
+       add     $0x12345678, (%rax)
        and     $1, (%rax)
+       and     $0x89, (%rax)
+       and     $0x1234, (%rax)
+       and     $0x12345678, (%rax)
        bt      $1, (%rax)
        btc     $1, (%rax)
        btr     $1, (%rax)
        bts     $1, (%rax)
        call    *(%rax)
        cmp     $1, (%rax)
+       cmp     $0x89, (%rax)
+       cmp     $0x1234, (%rax)
+       cmp     $0x12345678, (%rax)
+       cmps
+       cmps    %es:(%rdi), (%rsi)
        cvtsi2sd (%rax), %xmm0
        cvtsi2ss (%rax), %xmm0
+       dec     (%rax)
+       div     (%rax)
        fadd    (%rax)
        fcom    (%rax)
        fcomp   (%rax)
@@ -34,23 +50,93 @@ noreg:
        fstp    (%rax)
        fsub    (%rax)
        fsubr   (%rax)
+       idiv    (%rax)
+       imul    (%rax)
+       in      $0
+       in      %dx
+       inc     (%rax)
+       ins
+       ins     %dx, %es:(%rdi)
        jmp     *(%rax)
        lgdt    (%rax)
        lidt    (%rax)
        lldt    (%rax)
        lmsw    (%rax)
+       lods
+       lods    (%rsi)
        ltr     (%rax)
+       mov     $0x12, (%rax)
+       mov     $0x1234, (%rax)
+       mov     $0x12345678, (%rax)
        mov     %es, (%rax)
        mov     (%rax), %es
+       movs
+       movs    (%rsi), %es:(%rdi)
+       mul     (%rax)
+       neg     (%rax)
        nop     (%rax)
+       not     (%rax)
        or      $1, (%rax)
+       or      $0x89, (%rax)
+       or      $0x1234, (%rax)
+       or      $0x12345678, (%rax)
+       out     $0
+       out     %dx
+       outs
+       outs    (%rsi), %dx
        pop     (%rax)
        pop     %fs
        ptwrite (%rax)
        push    (%rax)
        push    %fs
+       rcl     $1, (%rax)
+       rcl     $2, (%rax)
+       rcl     %cl, (%rax)
+       rcl     (%rax)
+       rcr     $1, (%rax)
+       rcr     $2, (%rax)
+       rcr     %cl, (%rax)
+       rcr     (%rax)
+       rol     $1, (%rax)
+       rol     $2, (%rax)
+       rol     %cl, (%rax)
+       rol     (%rax)
+       ror     $1, (%rax)
+       ror     $2, (%rax)
+       ror     %cl, (%rax)
+       ror     (%rax)
        sbb     $1, (%rax)
+       sbb     $0x89, (%rax)
+       sbb     $0x1234, (%rax)
+       sbb     $0x12345678, (%rax)
+       scas
+       scas    %es:(%rdi)
+       sal     $1, (%rax)
+       sal     $2, (%rax)
+       sal     %cl, (%rax)
+       sal     (%rax)
+       sar     $1, (%rax)
+       sar     $2, (%rax)
+       sar     %cl, (%rax)
+       sar     (%rax)
+       shl     $1, (%rax)
+       shl     $2, (%rax)
+       shl     %cl, (%rax)
+       shl     (%rax)
+       shr     $1, (%rax)
+       shr     $2, (%rax)
+       shr     %cl, (%rax)
+       shr     (%rax)
+       stos
+       stos    %es:(%rdi)
        sub     $1, (%rax)
+       sub     $0x89, (%rax)
+       sub     $0x1234, (%rax)
+       sub     $0x12345678, (%rax)
+       sysret
+       test    $0x89, (%rax)
+       test    $0x1234, (%rax)
+       test    $0x12345678, (%rax)
        vcvtsi2sd (%rax), %xmm0, %xmm0
        vcvtsi2sd (%rax), %xmm0, %xmm31
        vcvtsi2ss (%rax), %xmm0, %xmm0
@@ -58,3 +144,6 @@ noreg:
        vcvtusi2sd (%rax), %xmm0, %xmm0
        vcvtusi2ss (%rax), %xmm0, %xmm0
        xor     $1, (%rax)
+       xor     $0x89, (%rax)
+       xor     $0x1234, (%rax)
+       xor     $0x12345678, (%rax)
This page took 0.0252 seconds and 4 git commands to generate.