x86: Update register operand check for AddrPrefixOpReg
[binutils-gdb.git] / gas / testsuite / gas / i386 / i386.exp
index 42d35779c6d9869f957ac39fcbaff7a54a45ef07..3a1ebda494aaab9bdf842ae34a72408e05984aeb 100644 (file)
 #
 # i386 tests
 #
+if { ![istarget "i*86-*-*"] && ![istarget "x86_64-*-*"] } then {
+    return
+}
+
 proc gas_64_check { } {
     global NM
     global NMFLAGS
@@ -40,8 +44,7 @@ proc gas_bfd64_check { } {
     return [regexp "32bit/64bit/x32" [lindex $status 1]];
 }
 
-if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]  then {
-
+if [gas_32_check] then {
     global ASFLAGS
     set old_ASFLAGS "$ASFLAGS"
     set ASFLAGS "$ASFLAGS --32"
@@ -139,6 +142,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "noreg32-data16"
     run_list_test "movx16" "-I${srcdir}/$subdir -al"
     run_list_test "movx32" "-al"
+    run_dump_test "sizing32"
     run_dump_test "addr16"
     run_dump_test "addr32"
     run_dump_test "code16"
@@ -255,6 +259,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "evex-lig-2"
     run_dump_test "evex-wig1"
     run_dump_test "evex-wig1-intel"
+    run_dump_test "evex-no-scale-32"
     run_dump_test "sse2avx"
     run_list_test "inval-avx" "-al"
     run_list_test "inval-avx512f" "-al"
@@ -270,6 +275,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "sse-noavx"
     run_dump_test "movbe"
     run_dump_test "movbe-intel"
+    run_dump_test "movbe-suffix"
     run_list_test "inval-movbe" "-al"
     run_dump_test "ept"
     run_dump_test "ept-intel"
@@ -478,15 +484,20 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "cldemote-intel"
     run_dump_test "movdir"
     run_dump_test "movdir-intel"
+    run_dump_test "movdir-16bit"
     run_list_test "movdir64b-reg"
     run_dump_test "enqcmd"
     run_dump_test "enqcmd-intel"
+    run_dump_test "enqcmd-16bit"
     run_list_test "enqcmd-inval"
     run_dump_test "serialize"
+    run_dump_test "tdx"
     run_dump_test "tsxldtrk"
     run_dump_test "vp2intersect"
     run_dump_test "vp2intersect-intel"
     run_list_test "vp2intersect-inval-bcast"
+    run_dump_test "keylocker"
+    run_dump_test "keylocker-intel"
     run_list_test "avx512vl-1" "-al"
     run_list_test "avx512vl-2" "-al"
     run_list_test "avx512vl-ambig"
@@ -549,7 +560,10 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
 
     # These tests require support for 8 and 16 bit relocs,
     # so we only run them for ELF and COFF targets.
-    if {[is_elf_format] || [istarget "*-*-coff*"]} then {
+    if {[is_elf_format]
+       || [istarget "*-*-vxworks*"]
+       || [istarget "*-*-coff*"]
+    } then {
        run_dump_test "reloc"
        run_dump_test "jump16"
        run_list_test "white" "-al --listing-lhs-width=3"
@@ -565,7 +579,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     }
 
     # ELF specific tests
-    if [is_elf_format] then {
+    if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
        # PIC is only supported on ELF targets.
        run_dump_test "intelpic"
 
@@ -593,6 +607,11 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
        run_dump_test "localpic"
        run_dump_test "debug1"
 
+       run_dump_test "dwarf2-line-1"
+       run_dump_test "dwarf2-line-2"
+       run_dump_test "dwarf2-line-3"
+       run_dump_test "dwarf2-line-4"
+
        run_dump_test "dw2-compress-2"
        run_dump_test "dw2-compressed-2"
 
@@ -619,13 +638,13 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
        run_dump_test "nop-6"
        run_dump_test "unique"
 
-       run_dump_test "evex-no-scale-32"
        run_dump_test "property-1"
        run_dump_test "property-2"
        run_dump_test "property-3"
        run_dump_test "property-4"
        run_dump_test "property-5"
        run_dump_test "property-6"
+       run_dump_test "property-10"
 
        if {[istarget "*-*-linux*"]} then {
            run_dump_test "align-branch-3"
@@ -640,12 +659,14 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
            run_list_test "code64-inval" "-I${srcdir}/$subdir -al"
        }
 
-       run_dump_test "iamcu-1"
-       run_dump_test "iamcu-2"
-       run_dump_test "iamcu-3"
-       run_dump_test "iamcu-4"
-       run_dump_test "iamcu-5"
-       run_list_test "iamcu-inval-1" "-march=iamcu -al"
+       if {![istarget "*-*-vxworks*"]} then {
+           run_dump_test "iamcu-1"
+           run_dump_test "iamcu-2"
+           run_dump_test "iamcu-3"
+           run_dump_test "iamcu-4"
+           run_dump_test "iamcu-5"
+           run_list_test "iamcu-inval-1" "-march=iamcu -al"
+       }
     }
 
     # This is a PE specific test.
@@ -662,34 +683,39 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
 }
 
 # Common tests
-if [expr [istarget "i*86-*-*"] || [istarget "x86_64-*-*"]] then {
-    if {![istarget "i*86-*-elfiamcu"] && [gas_64_check]} then {
-       run_dump_test "intel-expr"
-       run_dump_test "string-ok"
-    }
-    run_list_test "string-bad" ""
-    run_list_test "reg-bad" ""
-    run_list_test "space1" "-al"
-    run_list_test "xmmword" ""
-    run_dump_test rept
-    run_dump_test pr19498
-    run_list_test "nop-bad-1" ""
-    run_list_test "unspec" ""
-    if [is_elf_format] then {
-       run_list_test_stdin "list-1" "-al"
-       run_list_test_stdin "list-2" "-al"
-       run_list_test_stdin "list-3" "-al"
-       run_dump_test "dw2-compress-1"
-       run_dump_test "dw2-compress-3a"
-       run_dump_test "dw2-compress-3b"
-       run_dump_test "dw2-compressed-1"
-       run_dump_test "dw2-compressed-3a"
-       run_dump_test "dw2-compressed-3b"
-    }
+if {![istarget "i*86-*-elfiamcu"] && [gas_64_check]} then {
+    run_dump_test "intel-expr"
+    run_dump_test "string-ok"
 }
+run_list_test "string-bad" ""
+run_list_test "reg-bad" ""
+run_list_test "space1" "-al"
+run_list_test "xmmword" ""
+run_dump_test rept
+run_dump_test pr19498
+run_list_test "nop-bad-1" ""
+run_list_test "unspec" ""
+if {[is_elf_format] || [istarget "*-*-vxworks*"]} then {
+    run_list_test_stdin "list-1" "-al"
+    run_list_test_stdin "list-2" "-al"
+    run_list_test_stdin "list-3" "-al"
+    run_dump_test "dw2-compress-1"
+    run_dump_test "dw2-compress-3a"
+    run_dump_test "dw2-compress-3b"
+    run_dump_test "dw2-compressed-1"
+    run_dump_test "dw2-compressed-3a"
+    run_dump_test "dw2-compressed-3b"
 
-if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] then {
+    if {![istarget "*-*-dragonfly*"]
+       && ![istarget "*-*-gnu*"]
+       && ![istarget "*-*-freebsd*"]
+       && ![istarget "*-*-linux*"]
+       && ![istarget "*-*-netbsd*"]} then {
+       run_dump_test "svr4"
+    }
+}
 
+if [gas_64_check] then {
     global ASFLAGS
     set old_ASFLAGS "$ASFLAGS"
     set ASFLAGS "$ASFLAGS --64 --defsym x86_64=1 --strip-local-absolute"
@@ -861,6 +887,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-evex-wig1"
     run_dump_test "x86-64-evex-wig1-intel"
     run_dump_test "x86-64-evex-wig2"
+    run_dump_test "evex-no-scale-64"
     run_dump_test "x86-64-sse2avx"
     run_list_test "x86-64-inval-avx" "-al"
     run_list_test "x86-64-inval-avx512f" "-al"
@@ -876,6 +903,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-sse-noavx"
     run_dump_test "x86-64-movbe"
     run_dump_test "x86-64-movbe-intel"
+    run_dump_test "x86-64-movbe-suffix"
     run_list_test "x86-64-inval-movbe" "-al"
     run_dump_test "x86-64-ept"
     run_dump_test "x86-64-ept-intel"
@@ -1072,10 +1100,13 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-enqcmd-intel"
     run_list_test "x86-64-enqcmd-inval"
     run_dump_test "x86-64-serialize"
+    run_dump_test "x86-64-tdx"
     run_dump_test "x86-64-tsxldtrk"
     run_dump_test "x86-64-vp2intersect"
     run_dump_test "x86-64-vp2intersect-intel"
     run_list_test "x86-64-vp2intersect-inval-bcast"
+    run_dump_test "x86-64-keylocker"
+    run_dump_test "x86-64-keylocker-intel"
     run_dump_test "x86-64-fence-as-lock-add-yes"
     run_dump_test "x86-64-fence-as-lock-add-no"
     run_dump_test "x86-64-pr20141"
@@ -1088,6 +1119,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_list_test "x86-64-cet-shstk-inval"
     run_dump_test "x86-64-pseudos"
     run_list_test "x86-64-pseudos-bad"
+    run_list_test "x86-64-inval-pseudo" "-al"
     run_dump_test "x86-64-notrack"
     run_dump_test "x86-64-notrack-intel"
     run_list_test "x86-64-notrackbad" "-al"
@@ -1212,7 +1244,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
        run_dump_test "x86-64-nop-6"
        run_dump_test "x86-64-unique"
 
-       run_dump_test "evex-no-scale-64"
        run_dump_test "x86-64-property-1"
        run_dump_test "x86-64-property-2"
        run_dump_test "x86-64-property-3"
@@ -1222,6 +1253,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
        run_dump_test "x86-64-property-7"
        run_dump_test "x86-64-property-8"
        run_dump_test "x86-64-property-9"
+       run_dump_test "x86-64-property-10"
 
        if {[istarget "*-*-linux*"]} then {
            run_dump_test "x86-64-align-branch-3"
@@ -1229,5 +1261,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
 
     }
 
+    set ASFLAGS "$old_ASFLAGS --64"
+
+    run_dump_test "sizing64"
+
     set ASFLAGS "$old_ASFLAGS"
 }