aboutsummaryrefslogtreecommitdiff
path: root/test/transform-dis-cases-i386.S
diff options
context:
space:
mode:
Diffstat (limited to 'test/transform-dis-cases-i386.S')
-rw-r--r--test/transform-dis-cases-i386.S11
1 files changed, 6 insertions, 5 deletions
diff --git a/test/transform-dis-cases-i386.S b/test/transform-dis-cases-i386.S
index 31508ca..57707cc 100644
--- a/test/transform-dis-cases-i386.S
+++ b/test/transform-dis-cases-i386.S
@@ -2,15 +2,16 @@
#define EXPECT .ascii "EXPECT";
#define EXPECT_ERR .ascii "EXPECT_ERR";
-GIVEN call .; pop %edx
+GIVEN call 0f; 0: pop %edx
/* XXX the extra push isn't necessary in 32-bit mode */
-EXPECT push %eax; push %eax; mov $0xdead0005, %eax; pop %eax; pop %edx
+EXPECT push %eax; push %eax; mov $0xdead0005, %eax; mov %eax, 4(%esp); pop %eax; pop %edx
-GIVEN jmp 0f; 0:
+GIVEN jmp 0f; 0: nop
EXPECT_ERR
-GIVEN jne 0xdead1000
-EXPECT jne 0f; jmp 1f; 0: jmp 0xdead1000; 1:
+GIVEN jne .+0x1000
+/* we expect to generate an unnecessarily long jump, so hardcode it */
+EXPECT 2: .byte 0x0f, 0x85; .long 2; jmp 1f; 0: jmp 2b+0x1000; 1:
GIVEN loopne 0xdead0080
EXPECT loopne 0f; jmp 1f; 0: jmp 0xdead1000; 1: