aboutsummaryrefslogtreecommitdiff
path: root/modules/arch/x86/tests/gas32
diff options
context:
space:
mode:
Diffstat (limited to 'modules/arch/x86/tests/gas32')
-rw-r--r--modules/arch/x86/tests/gas32/Makefile.inc24
-rw-r--r--modules/arch/x86/tests/gas32/align32.asm82
-rw-r--r--modules/arch/x86/tests/gas32/align32.hex536
-rw-r--r--modules/arch/x86/tests/gas32/gas-farithr.asm18
-rw-r--r--modules/arch/x86/tests/gas32/gas-farithr.hex376
-rw-r--r--modules/arch/x86/tests/gas32/gas-fpmem.asm11
-rw-r--r--modules/arch/x86/tests/gas32/gas-fpmem.hex376
-rw-r--r--modules/arch/x86/tests/gas32/gas-movdq32.asm20
-rw-r--r--modules/arch/x86/tests/gas32/gas-movdq32.hex440
-rw-r--r--modules/arch/x86/tests/gas32/gas-movsd.asm3
-rw-r--r--modules/arch/x86/tests/gas32/gas-movsd.hex360
-rw-r--r--modules/arch/x86/tests/gas32/gas32-jmpcall.asm6
-rw-r--r--modules/arch/x86/tests/gas32/gas32-jmpcall.hex464
-rwxr-xr-xmodules/arch/x86/tests/gas32/x86_gas32_test.sh3
14 files changed, 2719 insertions, 0 deletions
diff --git a/modules/arch/x86/tests/gas32/Makefile.inc b/modules/arch/x86/tests/gas32/Makefile.inc
new file mode 100644
index 0000000..2f58c66
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/Makefile.inc
@@ -0,0 +1,24 @@
+TESTS += modules/arch/x86/tests/gas32/x86_gas32_test.sh
+
+EXTRA_DIST += modules/arch/x86/tests/gas32/x86_gas32_test.sh
+EXTRA_DIST += modules/arch/x86/tests/gas32/align32.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/align32.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farithr.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farithr.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farjump.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-farjump.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-fpmem.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-fpmem.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-invlpg.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-invlpg.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-loop32.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-loop32.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movdq32.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movdq32.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movsd.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-movsd.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-pop.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas-pop.hex
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas32-jmpcall.asm
+EXTRA_DIST += modules/arch/x86/tests/gas32/gas32-jmpcall.hex
+
diff --git a/modules/arch/x86/tests/gas32/align32.asm b/modules/arch/x86/tests/gas32/align32.asm
new file mode 100644
index 0000000..7d5dfa6
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/align32.asm
@@ -0,0 +1,82 @@
+.text
+# 15 fill
+.byte 0xff
+.p2align 4
+# 14 fill
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 13 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 12 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 11 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 10 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 9 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 8 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 4
+# 7 fill
+.byte 0xff
+.p2align 3
+# 6 fill
+.byte 0xff
+.byte 0xff
+.p2align 3
+# 5 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 3
+# 4 fill
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.byte 0xff
+.p2align 3
+# 3 fill
+.byte 0xff
+.p2align 2
+# 2 fill
+.byte 0xff
+.byte 0xff
+.p2align 2
+# 1 fill
+.byte 0xff
+.p2align 1
+
diff --git a/modules/arch/x86/tests/gas32/align32.hex b/modules/arch/x86/tests/gas32/align32.hex
new file mode 100644
index 0000000..8fb4241
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/align32.hex
@@ -0,0 +1,536 @@
+7f
+45
+4c
+46
+01
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+03
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+50
+01
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+00
+00
+28
+00
+05
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ff
+eb
+0d
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+eb
+0c
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+ff
+eb
+0b
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+ff
+ff
+eb
+0a
+90
+90
+90
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+ff
+ff
+ff
+eb
+09
+90
+90
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+ff
+ff
+ff
+ff
+eb
+08
+90
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+eb
+07
+90
+90
+90
+90
+90
+90
+90
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+90
+8d
+b4
+26
+00
+00
+00
+00
+ff
+8d
+b4
+26
+00
+00
+00
+00
+ff
+ff
+8d
+b6
+00
+00
+00
+00
+ff
+ff
+ff
+90
+8d
+74
+26
+00
+ff
+ff
+ff
+ff
+8d
+74
+26
+00
+ff
+8d
+76
+00
+ff
+ff
+66
+90
+ff
+90
+00
+00
+00
+2e
+74
+65
+78
+74
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+00
+00
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+17
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+ec
+00
+00
+00
+21
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+01
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+14
+01
+00
+00
+30
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+10
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+aa
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
diff --git a/modules/arch/x86/tests/gas32/gas-farithr.asm b/modules/arch/x86/tests/gas32/gas-farithr.asm
new file mode 100644
index 0000000..4b1ca13
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-farithr.asm
@@ -0,0 +1,18 @@
+.text
+ fsub %st(0),%st(1)
+ fsub %st(3),%st
+ fsubp %st(0),%st(1)
+ #fsubp %st(3),%st
+ fsubr %st(0),%st(1)
+ fsubr %st(3),%st
+ fsubrp %st(0),%st(1)
+ #fsubrp %st(3),%st
+ fdiv %st(0),%st(1)
+ fdiv %st(3),%st
+ fdivp %st(0),%st(1)
+ #fdivp %st(3),%st
+ fdivr %st(0),%st(1)
+ fdivr %st(3),%st
+ fdivrp %st(0),%st(1)
+ #fdivrp %st(3),%st
+
diff --git a/modules/arch/x86/tests/gas32/gas-farithr.hex b/modules/arch/x86/tests/gas32/gas-farithr.hex
new file mode 100644
index 0000000..f0f4bdd
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-farithr.hex
@@ -0,0 +1,376 @@
+7f
+45
+4c
+46
+01
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+03
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+b0
+00
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+00
+00
+28
+00
+05
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+dc
+e1
+d8
+e3
+de
+e1
+dc
+e9
+d8
+eb
+de
+e9
+dc
+f1
+d8
+f3
+de
+f1
+dc
+f9
+d8
+fb
+de
+f9
+00
+2e
+74
+65
+78
+74
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+00
+00
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+17
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+58
+00
+00
+00
+21
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+7c
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+80
+00
+00
+00
+30
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+10
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+18
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
diff --git a/modules/arch/x86/tests/gas32/gas-fpmem.asm b/modules/arch/x86/tests/gas32/gas-fpmem.asm
new file mode 100644
index 0000000..ca90530
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-fpmem.asm
@@ -0,0 +1,11 @@
+.text
+fcomp
+fcomp %st(1)
+fcomp 0(%eax)
+fcomps 0(%eax)
+fcompl 0(%eax)
+
+fistp 0(%eax)
+fistps 0(%eax)
+fistpl 0(%eax)
+
diff --git a/modules/arch/x86/tests/gas32/gas-fpmem.hex b/modules/arch/x86/tests/gas32/gas-fpmem.hex
new file mode 100644
index 0000000..81d6a3a
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-fpmem.hex
@@ -0,0 +1,376 @@
+7f
+45
+4c
+46
+01
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+03
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+b0
+00
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+00
+00
+28
+00
+05
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+d8
+d9
+d8
+d9
+d8
+18
+d8
+18
+dc
+18
+df
+18
+df
+18
+db
+18
+00
+2e
+74
+65
+78
+74
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+00
+00
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+17
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+50
+00
+00
+00
+21
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+74
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+78
+00
+00
+00
+30
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+10
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
diff --git a/modules/arch/x86/tests/gas32/gas-movdq32.asm b/modules/arch/x86/tests/gas32/gas-movdq32.asm
new file mode 100644
index 0000000..a90c1a6
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-movdq32.asm
@@ -0,0 +1,20 @@
+movd %mm0, %eax
+movd %eax, %mm0
+movd %mm0, 0
+movd 0, %mm(0)
+
+movd %xmm0, %eax
+movd %eax, %xmm0
+movd %xmm0, 0
+movd 0, %xmm0
+
+movq %xmm0, 0
+movq 0, %xmm0
+movq %xmm1, %xmm0
+movq %xmm0, %xmm1
+
+movq %mm0, 0
+movq 0, %mm0
+movq %mm1, %mm0
+movq %mm0, %mm1
+
diff --git a/modules/arch/x86/tests/gas32/gas-movdq32.hex b/modules/arch/x86/tests/gas32/gas-movdq32.hex
new file mode 100644
index 0000000..6683682
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-movdq32.hex
@@ -0,0 +1,440 @@
+7f
+45
+4c
+46
+01
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+03
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+f0
+00
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+00
+00
+28
+00
+05
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+7e
+c0
+0f
+6e
+c0
+0f
+7e
+05
+00
+00
+00
+00
+0f
+6e
+05
+00
+00
+00
+00
+66
+0f
+7e
+c0
+66
+0f
+6e
+c0
+66
+0f
+7e
+05
+00
+00
+00
+00
+66
+0f
+6e
+05
+00
+00
+00
+00
+66
+0f
+d6
+05
+00
+00
+00
+00
+f3
+0f
+7e
+05
+00
+00
+00
+00
+f3
+0f
+7e
+c1
+f3
+0f
+7e
+c8
+0f
+7f
+05
+00
+00
+00
+00
+0f
+6f
+05
+00
+00
+00
+00
+0f
+6f
+c1
+0f
+6f
+c8
+00
+2e
+74
+65
+78
+74
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+00
+00
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+17
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+98
+00
+00
+00
+21
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+bc
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+c0
+00
+00
+00
+30
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+10
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+58
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
diff --git a/modules/arch/x86/tests/gas32/gas-movsd.asm b/modules/arch/x86/tests/gas32/gas-movsd.asm
new file mode 100644
index 0000000..3d3c0c7
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-movsd.asm
@@ -0,0 +1,3 @@
+.text
+movsd
+movsl
diff --git a/modules/arch/x86/tests/gas32/gas-movsd.hex b/modules/arch/x86/tests/gas32/gas-movsd.hex
new file mode 100644
index 0000000..70701e6
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas-movsd.hex
@@ -0,0 +1,360 @@
+7f
+45
+4c
+46
+01
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+03
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+a0
+00
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+00
+00
+28
+00
+05
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+a5
+a5
+00
+00
+00
+2e
+74
+65
+78
+74
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+00
+00
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+17
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+44
+00
+00
+00
+21
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+68
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+0f
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+6c
+00
+00
+00
+30
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+10
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
diff --git a/modules/arch/x86/tests/gas32/gas32-jmpcall.asm b/modules/arch/x86/tests/gas32/gas32-jmpcall.asm
new file mode 100644
index 0000000..f170741
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas32-jmpcall.asm
@@ -0,0 +1,6 @@
+call foo
+calll foo
+
+jmp foo
+#jmpl foo
+
diff --git a/modules/arch/x86/tests/gas32/gas32-jmpcall.hex b/modules/arch/x86/tests/gas32/gas32-jmpcall.hex
new file mode 100644
index 0000000..2a656ca
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/gas32-jmpcall.hex
@@ -0,0 +1,464 @@
+7f
+45
+4c
+46
+01
+01
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+03
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+e0
+00
+00
+00
+00
+00
+00
+00
+34
+00
+00
+00
+00
+00
+28
+00
+06
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+e8
+fc
+ff
+ff
+ff
+e8
+fc
+ff
+ff
+ff
+e9
+fc
+ff
+ff
+ff
+00
+01
+00
+00
+00
+02
+03
+00
+00
+06
+00
+00
+00
+02
+03
+00
+00
+0b
+00
+00
+00
+02
+03
+00
+00
+00
+2e
+74
+65
+78
+74
+00
+2e
+72
+65
+6c
+2e
+74
+65
+78
+74
+00
+2e
+73
+74
+72
+74
+61
+62
+00
+2e
+73
+79
+6d
+74
+61
+62
+00
+2e
+73
+68
+73
+74
+72
+74
+61
+62
+00
+00
+00
+2d
+00
+66
+6f
+6f
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+01
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+00
+f1
+ff
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+03
+00
+04
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+21
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+68
+00
+00
+00
+2b
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+11
+00
+00
+00
+03
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+94
+00
+00
+00
+07
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+19
+00
+00
+00
+02
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+9c
+00
+00
+00
+40
+00
+00
+00
+02
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+10
+00
+00
+00
+01
+00
+00
+00
+01
+00
+00
+00
+06
+00
+00
+00
+00
+00
+00
+00
+40
+00
+00
+00
+0f
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+10
+00
+00
+00
+00
+00
+00
+00
+07
+00
+00
+00
+09
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+50
+00
+00
+00
+18
+00
+00
+00
+03
+00
+00
+00
+04
+00
+00
+00
+04
+00
+00
+00
+08
+00
+00
+00
diff --git a/modules/arch/x86/tests/gas32/x86_gas32_test.sh b/modules/arch/x86/tests/gas32/x86_gas32_test.sh
new file mode 100755
index 0000000..b1d6c03
--- /dev/null
+++ b/modules/arch/x86/tests/gas32/x86_gas32_test.sh
@@ -0,0 +1,3 @@
+#! /bin/sh
+${srcdir}/out_test.sh x86_gas32_test modules/arch/x86/tests/gas32 "x86 gas format" "-f elf32 -p gas" ".o"
+exit $?