Add Disp32S to 64bit call.
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 1 Aug 2011 19:25:48 +0000 (19:25 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 1 Aug 2011 19:25:48 +0000 (19:25 +0000)
gas/testsuite/

2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

PR gas/13046
* gas/i386/x86-64-branch.s: Add tests for direct branch.
* gas/i386/x86-64-branch.d: Updated.
* gas/i386/ilp32/x86-64-branch.d: Likewise.

opcodes/

2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

PR gas/13046
* i386-opc.tbl: Add Disp32S to 64bit call.
* i386-tbl.h: Regenerated.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/ilp32/x86-64-branch.d
gas/testsuite/gas/i386/x86-64-branch.d
gas/testsuite/gas/i386/x86-64-branch.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h

index eb5ce65ccc7b6f01a006c7db11e78471020bf5cf..063f89947595c046a6241dbf9cff5bbdc6c8ff12 100644 (file)
@@ -1,3 +1,10 @@
+2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/13046
+       * gas/i386/x86-64-branch.s: Add tests for direct branch.
+       * gas/i386/x86-64-branch.d: Updated.
+       * gas/i386/ilp32/x86-64-branch.d: Likewise. 
+
 2011-07-29  Nick Clifton  <nickc@redhat.com>
 
        * gas/elf/warn-2.s: Add other types of NOP insn.
index cb338408546a385481c39790338731fbd7024437..9118db129b1a65aef67c5967856fc76b1e736f2d 100644 (file)
@@ -18,6 +18,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    e8 00 00 00 00          callq  0x1f     1b: R_X86_64_PC32       \*ABS\*\+0x10003c
+[      ]*[a-f0-9]+:    e9 00 00 00 00          jmpq   0x24     20: R_X86_64_PC32       \*ABS\*\+0x10003c
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    66 ff d0                callw  \*%ax
@@ -28,4 +30,6 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    e8 00 00 00 00          callq  0x43     3f: R_X86_64_PC32       \*ABS\*\+0x10003c
+[      ]*[a-f0-9]+:    e9 00 00 00 00          jmpq   0x48     44: R_X86_64_PC32       \*ABS\*\+0x10003c
 #pass
index cc3d3a9da29ba64dd97f937d4b8da7bcaaa58a55..428ce5b182f4cbf500badfdb97e6306db9ae07d5 100644 (file)
@@ -17,6 +17,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    e8 00 00 00 00          callq  0x1f     1b: R_X86_64_PC32       \*ABS\*\+0x10003c
+[      ]*[a-f0-9]+:    e9 00 00 00 00          jmpq   0x24     20: R_X86_64_PC32       \*ABS\*\+0x10003c
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    66 ff d0                callw  \*%ax
@@ -27,4 +29,6 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    e8 00 00 00 00          callq  0x43     3f: R_X86_64_PC32       \*ABS\*\+0x10003c
+[      ]*[a-f0-9]+:    e9 00 00 00 00          jmpq   0x48     44: R_X86_64_PC32       \*ABS\*\+0x10003c
 #pass
index 10fdd818d66875c5136784185a59b800867863fd..4c1861f542e227bfb3370b1f8b2108487e44e515 100644 (file)
@@ -9,6 +9,8 @@
        jmp     *%ax
        jmpw    *%ax
        jmpw    *(%rax)
+       call    0x100040
+       jmp     0x100040
 
        .intel_syntax noprefix
        call    rax
@@ -21,3 +23,5 @@
        jmp     ax
        jmpw    ax
        jmpw    [rax]
+       call    0x100040
+       jmp     0x100040
index 9b5494e2fb73a80f2bfbf89c65d098ed58fbfe6d..4e39050000c15bdf2ee72c6e18412f2c19de9a01 100644 (file)
@@ -1,3 +1,9 @@
+2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/13046
+       * i386-opc.tbl: Add Disp32S to 64bit call.
+       * i386-tbl.h: Regenerated.
+
 2011-07-24  Chao-ying Fu  <fu@mips.com>
             Maciej W. Rozycki  <macro@codesourcery.com>
 
index 4c29ab7f335fba304e081be653e417bb6c1501f7..eb7dae9948c25198cf72fd726ab50ebeb7fd98c3 100644 (file)
@@ -320,7 +320,7 @@ shrd, 2, 0xfad, None, 2, Cpu386, Modrm|CheckRegSize|No_bSuf|No_sSuf|No_ldSuf, {
 
 // Control transfer instructions.
 call, 1, 0xe8, None, 1, CpuNo64, JumpDword|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Disp16|Disp32 }
-call, 1, 0xe8, None, 1, Cpu64, JumpDword|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Disp16|Disp32 }
+call, 1, 0xe8, None, 1, Cpu64, JumpDword|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Disp16|Disp32|Disp32S }
 call, 1, 0xff, 0x2, 1, CpuNo64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|JumpAbsolute }
 call, 1, 0xff, 0x2, 1, Cpu64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S|JumpAbsolute }
 // Intel Syntax
index f133b804c8b41d86159bf24826130227c58ee74c..795f71df20a9aad861428f2b93720b0d3ffa5812 100644 (file)
@@ -2558,7 +2558,7 @@ const insn_template i386_optab[] =
       1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 
       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
     { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-         0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
   { "call", 1, 0xff, 0x2, 1,
     { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,