+2021-06-15 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (offset_in_range): Adjust conditional.
+ * testsuite/gas/i386/disp-imm-16.s,
+ testsuite/gas/i386/disp-imm-16.l,
+ testsuite/gas/i386/disp-imm-64.s,
+ testsuite/gas/i386/disp-imm-64.l: New.
+ * testsuite/gas/i386/i386.exp: Run new tests.
+
2021-06-15 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (i386_att_operand): Re-introduce (now
default: abort ();
}
- if ((val & ~mask) != 0 && (val & ~mask) != ~mask)
+ if ((val & ~mask) != 0 && (-val & ~mask) != 0)
{
char buf1[40], buf2[40];
--- /dev/null
+.*: Assembler messages:
+.*:7: Warning: .* shortened to .*
+.*:8: Warning: .* shortened to .*
+.*:9: Warning: .* shortened to .*
+.*:11: Warning: .* shortened to .*
+.*:12: Warning: .* shortened to .*
+.*:13: Warning: .* shortened to .*
+.*:15: Warning: .* shortened to .*
+.*:16: Warning: .* shortened to .*
+.*:17: Warning: .* shortened to .*
--- /dev/null
+ .text
+ .code16
+ mov -0xffff(%bx), %eax
+ vmovaps -0xffc0(%bx), %zmm0
+ add $-0xffff, %cx
+
+ mov -0xffff-1(%bx), %eax
+ vmovaps -0xffc0-0x40(%bx), %zmm0
+ add $-0xffff-1, %cx
+
+ mov -0xffff-2(%bx), %eax
+ vmovaps -0xffc0-0x80(%bx), %zmm0
+ add $-0xffff-2, %cx
+
+ mov -0x1ffff(%bx), %eax
+ vmovaps -0x1ffc0(%bx), %zmm0
+ add $-0x1ffff, %cx
--- /dev/null
+.*: Assembler messages:
+.*:2: Error: .*
+.*:4: Error: .*
+.*:6: Error: .*
+.*:9: Error: .*
+.*:10: Warning: .* shortened to .*
+.*:11: Error: .*
+.*:12: Warning: .* shortened to .*
+.*:13: Error: .*
+.*:14: Warning: .* shortened to .*
+.*:16: Error: .*
+.*:17: Warning: .* shortened to .*
+.*:18: Error: .*
+.*:19: Warning: .* shortened to .*
+.*:20: Error: .*
+.*:21: Warning: .* shortened to .*
+.*:23: Error: .*
+.*:24: Warning: .* shortened to .*
+.*:25: Error: .*
+.*:26: Warning: .* shortened to .*
+.*:27: Error: .*
+.*:28: Warning: .* shortened to .*
--- /dev/null
+ .text
+ mov -0xffffffff(%rax), %eax
+ mov -0xffffffff(%eax), %eax
+ vmovaps -0xffffffc0(%rax), %zmm0
+ vmovaps -0xffffffc0(%eax), %zmm0
+ add $-0xffffffff, %rcx
+ add $-0xffffffff, %ecx
+
+ mov -0xffffffff-1(%rax), %eax
+ mov -0xffffffff-1(%eax), %eax
+ vmovaps -0xffffffc0-0x40(%rax), %zmm0
+ vmovaps -0xffffffc0-0x40(%eax), %zmm0
+ add $-0xffffffff-1, %rcx
+ add $-0xffffffff-1, %ecx
+
+ mov -0xffffffff-2(%rax), %eax
+ mov -0xffffffff-2(%eax), %eax
+ vmovaps -0xffffffc0-0x80(%rax), %zmm0
+ vmovaps -0xffffffc0-0x80(%eax), %zmm0
+ add $-0xffffffff-2, %rcx
+ add $-0xffffffff-2, %ecx
+
+ mov -0x1ffffffff(%rax), %eax
+ mov -0x1ffffffff(%eax), %eax
+ vmovaps -0x1ffffffc0(%rax), %zmm0
+ vmovaps -0x1ffffffc0(%eax), %zmm0
+ add $-0x1ffffffff, %rcx
+ add $-0x1ffffffff, %ecx
run_dump_test "disp"
run_dump_test "disp-intel"
run_dump_test "disp32"
+ run_list_test "disp-imm-16"
run_dump_test "vmx"
run_dump_test "vmfunc"
run_dump_test "smx"
run_dump_test "x86-64-sib-intel"
run_dump_test "x86-64-disp"
run_dump_test "x86-64-disp-intel"
+ run_list_test "disp-imm-64"
run_dump_test "intel-movs64"
run_dump_test "intel-cmps64"
run_dump_test "x86-64-disp32"