x86: allow VEX et al encodings in 16-bit (protected) mode
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / i386.exp
index 8bbe10088f579b9920ca4e8809e2b8d9f0c53dfd..09f5dec2d2a71bdfd62a823f12d0a186312bda20 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2018 Free Software Foundation, Inc.
+# Copyright (C) 2012-2019 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -33,6 +33,13 @@ proc gas_32_check { } {
     return [regexp "targets:.*i386" [lindex $status 1]];
 }
 
+proc gas_bfd64_check { } {
+    global AS
+
+    set status [gas_host_run "$AS --help" ""]
+    return [regexp "32bit/64bit/x32" [lindex $status 1]];
+}
+
 if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]  then {
 
     global ASFLAGS
@@ -57,6 +64,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_list_test "intelbad" ""
     run_dump_test "intelok"
     run_dump_test "prefix"
+    run_list_test "prefix32" "-al"
     run_dump_test "amd"
     run_dump_test "katmai"
     run_dump_test "jump"
@@ -65,6 +73,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "relax-2"
     run_dump_test "ssemmx2"
     run_dump_test "sse2"
+    run_dump_test "sse2-16bit"
     run_dump_test "sub"
     run_dump_test "sse3"
     run_dump_test "sib"
@@ -155,6 +164,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "arch-10-bdver3"
     run_dump_test "arch-10-bdver4"
     run_dump_test "arch-13-znver1"
+    run_dump_test "arch-13-znver2"
     run_dump_test "arch-10-btver1"
     run_dump_test "arch-10-btver2"
     run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
@@ -198,12 +208,17 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "avx-intel"
     run_dump_test "avx-scalar"
     run_dump_test "avx-scalar-intel"
+    run_dump_test "avx-scalar-2"
+    run_dump_test "avx-16bit"
     run_dump_test "avx256int"
     run_dump_test "avx256int-intel"
     run_dump_test "avx2"
     run_dump_test "avx2-intel"
     run_dump_test "avx-gather"
     run_dump_test "avx-gather-intel"
+    run_dump_test "avx-wig"
+    run_dump_test "avx2-wig"
+    run_dump_test "vex-lig-2"
     run_dump_test "avx512f"
     run_dump_test "avx512f-intel"
     run_dump_test "avx512f-opts"
@@ -211,21 +226,25 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "avx512f-nondef"
     run_list_test "avx512f-plain" "-al"
     run_dump_test "avx512f-ymm"
+    run_dump_test "avx512f-16bit"
     run_dump_test "avx512cd"
     run_dump_test "avx512cd-intel"
     run_dump_test "avx512er"
     run_dump_test "avx512er-intel"
     run_dump_test "avx512pf"
     run_dump_test "avx512pf-intel"
+    run_dump_test "evex"
     run_dump_test "evex-lig256"
     run_dump_test "evex-lig512"
     run_dump_test "evex-lig256-intel"
     run_dump_test "evex-lig512-intel"
+    run_dump_test "evex-lig-2"
     run_dump_test "evex-wig1"
     run_dump_test "evex-wig1-intel"
     run_dump_test "sse2avx"
     run_list_test "inval-avx" "-al"
     run_list_test "inval-avx512f" "-al"
+    run_list_test "inval-avx512vl" "-al"
     run_dump_test "sse-check"
     run_dump_test "sse-check-none"
     run_dump_test "sse-check-warn"
@@ -259,6 +278,7 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "sse2avx-opts-intel"
     run_dump_test "bmi2"
     run_dump_test "bmi2-intel"
+    run_dump_test "bmi2-16bit"
     run_dump_test "fma"
     run_dump_test "fma-intel"
     run_dump_test "fma-scalar"
@@ -270,12 +290,15 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "rtm-intel"
     run_dump_test "fma4"
     run_dump_test "lwp"
+    run_dump_test "lwp-16bit"
     run_dump_test "xop"
     run_dump_test "xop32reg"
     run_dump_test "bmi"
     run_dump_test "bmi-intel"
+    run_dump_test "bmi-16bit"
     run_dump_test "tbm"
     run_dump_test "tbm-intel"
+    run_dump_test "tbm-16bit"
     run_dump_test "f16c"
     run_dump_test "f16c-intel"
     run_dump_test "fsgs"
@@ -408,6 +431,10 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "avx512bitalg-intel"
     run_dump_test "avx512bitalg_vl"
     run_dump_test "avx512bitalg_vl-intel"
+    run_dump_test "avx512_bf16"
+    run_dump_test "avx512_bf16_vl"
+    run_list_test "avx512_bf16_vl-inval"
+    run_list_test "sg"
     run_dump_test "clzero"
     run_dump_test "disassem"
     run_dump_test "mwaitx-bdver4"
@@ -431,6 +458,15 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "waitpkg-intel"
     run_dump_test "cldemote"
     run_dump_test "cldemote-intel"
+    run_dump_test "movdir"
+    run_dump_test "movdir-intel"
+    run_list_test "movdir64b-reg"
+    run_dump_test "enqcmd"
+    run_dump_test "enqcmd-intel"
+    run_list_test "enqcmd-inval"
+    run_dump_test "vp2intersect"
+    run_dump_test "vp2intersect-intel"
+    run_list_test "vp2intersect-inval-bcast"
     run_list_test "avx512vl-1" "-al"
     run_list_test "avx512vl-2" "-al"
     run_list_test "avx512vl-plain" "-al"
@@ -449,10 +485,14 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "nop-1"
     run_dump_test "nop-2"
     run_dump_test "optimize-1"
+    run_dump_test "optimize-1a"
     run_dump_test "optimize-2"
     run_dump_test "optimize-3"
     run_dump_test "optimize-4"
     run_dump_test "optimize-5"
+    run_list_test "optimize-6a" "-I${srcdir}/$subdir -march=+noavx -al"
+    run_dump_test "optimize-6b"
+    run_list_test "optimize-7" "-I${srcdir}/$subdir -march=+noavx2 -al"
 
     # These tests require support for 8 and 16 bit relocs,
     # so we only run them for ELF and COFF targets.
@@ -521,12 +561,16 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
        run_dump_test "nop-5"
        run_dump_test "nop-6"
 
+       run_dump_test "evex-no-scale-32"
+       run_dump_test "property-1"
+       run_dump_test "property-2"
+
        if { [gas_64_check] } then {
            run_dump_test "att-regs"
            run_dump_test "intel-regs"
            run_dump_test "mixed-mode-reloc32"
            run_dump_test "code64"
-       } else {
+       } elseif { ![gas_bfd64_check] } {
            run_list_test "code64-inval" "-I${srcdir}/$subdir -al"
        }
 
@@ -650,6 +694,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-nops-5"
     run_dump_test "x86-64-nops-5-k8"
     run_dump_test "x86-64-nops-7"
+    run_list_test "cvtsi2sX"
     run_dump_test "x86-64-sse4_1"
     run_dump_test "x86-64-sse4_1-intel"
     run_dump_test "x86-64-sse4_2"
@@ -676,6 +721,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_list_test "suffix-bad"
     run_list_test "x86-64-suffix-bad"
     run_list_test "unspec64" ""
+    run_list_test "prefix64" "-al"
     run_dump_test "x86-64-fxsave"
     run_dump_test "x86-64-fxsave-intel"
     run_dump_test "x86-64-arch-1"
@@ -688,10 +734,12 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-arch-2-bdver3"
     run_dump_test "x86-64-arch-2-bdver4"
     run_dump_test "x86-64-arch-3-znver1"
+    run_dump_test "x86-64-arch-3-znver2"
     run_dump_test "x86-64-arch-2-btver1"
     run_dump_test "x86-64-arch-2-btver2"
     run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al"
     run_list_test "x86-64-arch-2-2" "-march=generic64+cx16 -I${srcdir}/$subdir -al"
+    run_dump_test "xmmhi64"
     run_dump_test "x86-64-xsave"
     run_dump_test "x86-64-xsave-intel"
     run_dump_test "x86-64-aes"
@@ -702,6 +750,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-avx-intel"
     run_dump_test "x86-64-avx-scalar"
     run_dump_test "x86-64-avx-scalar-intel"
+    run_dump_test "x86-64-avx-scalar-2"
     run_dump_test "x86-64-avx256int"
     run_dump_test "x86-64-avx_gfni"
     run_dump_test "x86-64-avx_gfni-intel"
@@ -710,6 +759,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-avx2-intel"
     run_dump_test "x86-64-avx-gather"
     run_dump_test "x86-64-avx-gather-intel"
+    run_dump_test "x86-64-avx-wig"
+    run_dump_test "x86-64-avx2-wig"
+    run_dump_test "x86-64-vex-lig-2"
     run_dump_test "x86-64-avx512f"
     run_dump_test "x86-64-avx512f-intel"
     run_dump_test "x86-64-avx512f-opts"
@@ -725,11 +777,14 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-evex-lig512"
     run_dump_test "x86-64-evex-lig256-intel"
     run_dump_test "x86-64-evex-lig512-intel"
+    run_dump_test "x86-64-evex-lig-2"
     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 "x86-64-sse2avx"
     run_list_test "x86-64-inval-avx" "-al"
     run_list_test "x86-64-inval-avx512f" "-al"
+    run_list_test "x86-64-inval-avx512vl" "-al"
     run_dump_test "x86-64-sse-check"
     run_dump_test "x86-64-sse-check-none"
     run_dump_test "x86-64-sse-check-warn"
@@ -901,6 +956,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-avx512bitalg-intel"
     run_dump_test "x86-64-avx512bitalg_vl"
     run_dump_test "x86-64-avx512bitalg_vl-intel"
+    run_dump_test "x86-64-avx512_bf16"
+    run_dump_test "x86-64-avx512_bf16_vl"
+    run_list_test "x86-64-avx512_bf16_vl-inval"
     run_dump_test "x86-64-clzero"
     run_dump_test "x86-64-mwaitx-bdver4"
     run_list_test "x86-64-mwaitx-reg"
@@ -923,6 +981,15 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-waitpkg-intel"
     run_dump_test "x86-64-cldemote"
     run_dump_test "x86-64-cldemote-intel"
+    run_dump_test "x86-64-movdir"
+    run_dump_test "x86-64-movdir-intel"
+    run_list_test "x86-64-movdir64b-reg"
+    run_dump_test "x86-64-enqcmd"
+    run_dump_test "x86-64-enqcmd-intel"
+    run_list_test "x86-64-enqcmd-inval"
+    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-fence-as-lock-add-yes"
     run_dump_test "x86-64-fence-as-lock-add-no"
     run_dump_test "x86-64-pr20141"
@@ -943,16 +1010,19 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-nop-2"
     run_dump_test "x86-64-optimize-1"
     run_dump_test "x86-64-optimize-2"
+    run_dump_test "x86-64-optimize-2a"
+    run_dump_test "x86-64-optimize-2b"
     run_dump_test "x86-64-optimize-3"
     run_dump_test "x86-64-optimize-4"
     run_dump_test "x86-64-optimize-5"
     run_dump_test "x86-64-optimize-6"
+    run_list_test "x86-64-optimize-7a" "-I${srcdir}/$subdir -march=+noavx -al"
+    run_dump_test "x86-64-optimize-7b"
+    run_list_test "x86-64-optimize-8" "-I${srcdir}/$subdir -march=+noavx2 -al"
 
     if { ![istarget "*-*-aix*"]
       && ![istarget "*-*-beos*"]
       && ![istarget "*-*-*bsd*"]
-      && ![istarget "*-*-chaos*"]
-      && ![istarget "*-*-kaos*"]
       && ![istarget "*-*-lynx*"]
       && ![istarget "*-*-moss*"]
       && ![istarget "*-*-nto-qnx*"]
@@ -1002,12 +1072,17 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
 
        run_dump_test "x86-64-gotpcrel"
        run_dump_test "x86-64-gotpcrel-no-relax"
+       run_dump_test "x86-64-gotpcrel-2"
 
        run_dump_test "x86-64-addend"
        run_dump_test "x86-64-nop-3"
        run_dump_test "x86-64-nop-4"
        run_dump_test "x86-64-nop-5"
        run_dump_test "x86-64-nop-6"
+
+       run_dump_test "evex-no-scale-64"
+       run_dump_test "x86-64-property-1"
+       run_dump_test "x86-64-property-2"
     }
 
     set ASFLAGS "$old_ASFLAGS"
This page took 0.032296 seconds and 4 git commands to generate.