x86: add missing test
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / intel.s
index 6b42343011c4e9118f9ab0e1d2931bf03c81469b..19c5eeac51592177374f52f8ca737760335a0232 100644 (file)
@@ -145,16 +145,16 @@ foo:
  xchg   edi, eax
  cwde
  cdq
- call   0x9090,0x90909090
+ call   0x9090:0x90909090
  fwait
  pushf
  popf
  sahf
  lahf
- mov    al, [0x90909090]
- mov    eax, [0x90909090]
- mov    [0x90909090], al
- mov    [0x90909090], eax
+ mov    al, FLAT:[0x90909090]
+ mov    eax, FLAT:[0x90909090]
+ mov    FLAT:[0x90909090], al
+ mov    FLAT:[0x90909090], eax
  movs   byte ptr es:[edi], byte ptr ds:[esi]
  movs   dword ptr es:[edi], dword ptr ds:[esi]
  cmps   byte ptr ds:[esi], byte ptr es:[edi]
@@ -193,6 +193,8 @@ foo:
  mov    dword ptr 0x90909090[eax], 0x90909090
  enter  0x9090, 0x90
  leave
+ retf   0x9090
+ retf
  lret   0x9090
  lret
  int3
@@ -224,7 +226,7 @@ foo:
  out    0x90, eax
  call   .+5+0x90909090
  jmp    .+5+0x90909090
- jmp    0x9090,0x90909090
+ jmp    0x9090:0x90909090
  jmp    .+2-0x70
  in     al, dx
  in     eax, dx
@@ -351,7 +353,7 @@ foo:
  lgs    edx, 0x90909090[eax]
  movzx  edx, byte ptr 0x90909090[eax]
  movzx  edx, word ptr 0x90909090[eax]
- ud2b
+ ud2
  btc    0x90909090[eax], edx
  bsf    edx, 0x90909090[eax]
  bsr    edx, 0x90909090[eax]
@@ -486,11 +488,11 @@ foo:
  xchg   di, ax
  cbw
  cwd
- callw  0x9090,0x9090
+ callw  0x9090:0x9090
  pushfw
  popfw
- mov    ax, [0x90909090]
- mov    [0x90909090], ax
+ mov    ax, FLAT:[0x90909090]
+ mov    FLAT:[0x90909090], ax
  movs   word ptr es:[edi], word ptr ds:[esi]
  cmps   word ptr ds:[esi], word ptr es:[edi]
  test   ax, 0x9090
@@ -513,6 +515,8 @@ foo:
  mov    word ptr 0x90909090[eax], 0x9090
  enterw 0x9090, 0x90
  leavew
+ retfw  0x9090
+ retfw
  lretw  0x9090
  lretw
  iretw
@@ -521,7 +525,7 @@ foo:
  in     ax, 0x90
  out    0x90, ax
  callw  .+3+0x9090
- jmpw   0x9090,0x9090
+ jmpw   0x9090:0x9090
  in     ax, dx
  out    dx, ax
  not    word ptr 0x90909090[eax]
@@ -595,7 +599,7 @@ rot5:
  mov   eax, [ebx*2]
  adc    BYTE PTR [eax*4+0x90909090], dl
  das
- jmp    0x9090,0x90909090
+ jmp    0x9090:0x90909090
  movs   WORD PTR es:[edi], WORD PTR ds:[esi]
  jo     .+2-0x70
 
@@ -613,7 +617,7 @@ rot5:
  mov   ax,  word ptr [ebx+2*eax+(2*(4095+1)*2)]
  jmp   eax
  jmp   [eax]
- jmp   [bar]
+ jmp   FLAT:[bar]
  jmp   bar
 
        # Check arithmetic operators
@@ -646,7 +650,7 @@ fdiv   QWORD PTR [ebx]
 fdivp
 fdivp  st(3)
 fdivp  st(3),st
-fdivp  st,st(3)
+fdiv  st,st(3)
 fdivr
 fdivr  st(3)
 fdivr  st,st(3)
@@ -656,7 +660,7 @@ fdivr  QWORD PTR [ebx]
 fdivrp
 fdivrp st(3)
 fdivrp st(3),st
-fdivrp st,st(3)
+fdivr st,st(3)
 fmul
 fmul   st(3)
 fmul   st,st(3)
@@ -675,7 +679,7 @@ fsub   DWORD PTR [ebx]
 fsub   QWORD PTR [ebx]
 fsubp
 fsubp  st(3)
-fsubp  st,st(3)
+fsub  st,st(3)
 fsubp  st(3),st
 fsubr  st(3)
 fsubr  st,st(3)
@@ -685,4 +689,29 @@ fsubr  QWORD PTR [ebx]
 fsubrp
 fsubrp st(3)
 fsubrp st(3),st
-fsubrp st,st(3)
+fsubr st,st(3)
+
+fidivr  word ptr [ebx]
+fidivr  dword ptr [ebx]
+
+ cmovpe  edx, 0x90909090[eax]
+ cmovpo edx, 0x90909090[eax]
+ cmovpe  dx, 0x90909090[eax]
+ cmovpo dx, 0x90909090[eax]
+
+ # Check base/index swapping
+       .allow_index_reg
+ mov    eax, [eax+esp]
+ mov    eax, [eiz+eax]
+ vgatherdps xmm0, [xmm1+eax], xmm2
+
+       # Test that disassembly of a partial instruction shows the partial byte:
+       # https://www.sourceware.org/ml/binutils/2015-08/msg00226.html
+       .byte 0x24
+       .byte 0x2f
+       .byte 0x0f
+barn:
+        .byte 0x0f
+        .byte 0xba
+        .byte 0xe2
+        .byte 0x03
This page took 0.050719 seconds and 4 git commands to generate.